﻿using System;
using System.ComponentModel;
using System.Reflection;
using System.Runtime.InteropServices;
using Teigha.Core;

namespace Teigha.TD
{
	public class OdDbEntity : OdDbObject
	{
		[EditorBrowsable(EditorBrowsableState.Never)]
		public OdDbEntity(IntPtr cPtr, bool cMemoryOwn) : base(TD_DbPINVOKE.OdDbEntity_SWIGUpcast(cPtr), cMemoryOwn)
		{
			this.swigCPtr = new HandleRef(this, cPtr);
		}

		[EditorBrowsable(EditorBrowsableState.Never)]
		public static HandleRef getCPtr(OdDbEntity obj)
		{
			if (obj != null)
			{
				return obj.swigCPtr;
			}
			return new HandleRef(null, IntPtr.Zero);
		}

		~OdDbEntity()
		{
			this.Dispose();
		}

		public override void Dispose()
		{
			if (this.swigCPtr.Handle != IntPtr.Zero)
			{
				if (this.swigCMemOwn)
				{
					lock (this.locker)
					{
						if (this.swigCPtr.Handle != IntPtr.Zero && this.swigCMemOwn)
						{
							this.swigCMemOwn = false;
							TD_DbPINVOKE.delete_OdDbEntity(this.swigCPtr);
						}
					}
					this.swigCMemOwn = false;
				}
				this.swigCPtr = new HandleRef(null, IntPtr.Zero);
			}
			GC.SuppressFinalize(this);
			base.Dispose();
		}

		public OdDbEntity() : this(TD_DbPINVOKE.new_OdDbEntity(), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
		{
			MemoryTransaction currentTransaction = MemoryManager.GetMemoryManager().GetCurrentTransaction();
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbEntity(this.swigCPtr.Handle, true));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			this.SwigDirectorConnect();
		}

		public new static OdDbEntity cast(OdRxObject pObj)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = TD_DbPINVOKE.OdDbEntity_cast(OdRxObject.getCPtr(pObj));
			OdDbEntity result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new static OdRxClass desc()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(TD_DbPINVOKE.OdDbEntity_desc(), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxClass isA()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(this.SwigDerivedClassHasMethod("isA", OdDbEntity.swigMethodTypes1) ? TD_DbPINVOKE.OdDbEntity_isASwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_isA(this.swigCPtr), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxObject queryX(OdRxClass protocolClass)
		{
			OdRxObject result = Teigha.Core.Helpers.odrxCreateObjectInternal(this.SwigDerivedClassHasMethod("queryX", OdDbEntity.swigMethodTypes0) ? TD_DbPINVOKE.OdDbEntity_queryXSwigExplicitOdDbEntity(this.swigCPtr, OdRxClass.getCPtr(protocolClass)) : TD_DbPINVOKE.OdDbEntity_queryX(this.swigCPtr, OdRxClass.getCPtr(protocolClass)), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new static OdDbEntity createObject()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = TD_DbPINVOKE.OdDbEntity_createObject();
			OdDbEntity result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbObjectId blockId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbEntity_blockId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdCmColor color()
		{
			OdCmColor result = new OdCmColor(TD_DbPINVOKE.OdDbEntity_color(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setColor(OdCmColor color, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setColor", OdDbEntity.swigMethodTypes64) ? TD_DbPINVOKE.OdDbEntity_setColorSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdCmColor.getCPtr(color), doSubents) : TD_DbPINVOKE.OdDbEntity_setColor__SWIG_0(this.swigCPtr, OdCmColor.getCPtr(color), doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setColor(OdCmColor color)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setColor", OdDbEntity.swigMethodTypes65) ? TD_DbPINVOKE.OdDbEntity_setColorSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdCmColor.getCPtr(color)) : TD_DbPINVOKE.OdDbEntity_setColor__SWIG_1(this.swigCPtr, OdCmColor.getCPtr(color)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public ushort colorIndex()
		{
			ushort result = TD_DbPINVOKE.OdDbEntity_colorIndex(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdCmEntityColor entityColor()
		{
			OdCmEntityColor result = new OdCmEntityColor(this.SwigDerivedClassHasMethod("entityColor", OdDbEntity.swigMethodTypes66) ? TD_DbPINVOKE.OdDbEntity_entityColorSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_entityColor(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setColorIndex(ushort colorIndex, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setColorIndex", OdDbEntity.swigMethodTypes67) ? TD_DbPINVOKE.OdDbEntity_setColorIndexSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, colorIndex, doSubents) : TD_DbPINVOKE.OdDbEntity_setColorIndex__SWIG_0(this.swigCPtr, colorIndex, doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setColorIndex(ushort colorIndex)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setColorIndex", OdDbEntity.swigMethodTypes68) ? TD_DbPINVOKE.OdDbEntity_setColorIndexSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, colorIndex) : TD_DbPINVOKE.OdDbEntity_setColorIndex__SWIG_1(this.swigCPtr, colorIndex));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbObjectId colorId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbEntity_colorId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setColorId(OdDbObjectId colorId, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setColorId", OdDbEntity.swigMethodTypes69) ? TD_DbPINVOKE.OdDbEntity_setColorIdSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdDbObjectId.getCPtr(colorId), doSubents) : TD_DbPINVOKE.OdDbEntity_setColorId__SWIG_0(this.swigCPtr, OdDbObjectId.getCPtr(colorId), doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setColorId(OdDbObjectId colorId)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setColorId", OdDbEntity.swigMethodTypes70) ? TD_DbPINVOKE.OdDbEntity_setColorIdSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdDbObjectId.getCPtr(colorId)) : TD_DbPINVOKE.OdDbEntity_setColorId__SWIG_1(this.swigCPtr, OdDbObjectId.getCPtr(colorId)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdCmTransparency transparency()
		{
			OdCmTransparency result = new OdCmTransparency(TD_DbPINVOKE.OdDbEntity_transparency(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setTransparency(OdCmTransparency transparency, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setTransparency", OdDbEntity.swigMethodTypes71) ? TD_DbPINVOKE.OdDbEntity_setTransparencySwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdCmTransparency.getCPtr(transparency), doSubents) : TD_DbPINVOKE.OdDbEntity_setTransparency__SWIG_0(this.swigCPtr, OdCmTransparency.getCPtr(transparency), doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setTransparency(OdCmTransparency transparency)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setTransparency", OdDbEntity.swigMethodTypes72) ? TD_DbPINVOKE.OdDbEntity_setTransparencySwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdCmTransparency.getCPtr(transparency)) : TD_DbPINVOKE.OdDbEntity_setTransparency__SWIG_1(this.swigCPtr, OdCmTransparency.getCPtr(transparency)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public string plotStyleName()
		{
			string result = TD_DbPINVOKE.OdDbEntity_plotStyleName(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public PlotStyleNameType getPlotStyleNameId(OdDbObjectId plotStyleNameId)
		{
			PlotStyleNameType result = (PlotStyleNameType)TD_DbPINVOKE.OdDbEntity_getPlotStyleNameId(this.swigCPtr, OdDbObjectId.getCPtr(plotStyleNameId));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotStyleName(string plotStyleName, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes73) ? TD_DbPINVOKE.OdDbEntity_setPlotStyleNameSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, plotStyleName, doSubents) : TD_DbPINVOKE.OdDbEntity_setPlotStyleName__SWIG_0(this.swigCPtr, plotStyleName, doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotStyleName(string plotStyleName)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes74) ? TD_DbPINVOKE.OdDbEntity_setPlotStyleNameSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, plotStyleName) : TD_DbPINVOKE.OdDbEntity_setPlotStyleName__SWIG_1(this.swigCPtr, plotStyleName));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotStyleName(PlotStyleNameType plotStyleNameType, OdDbObjectId plotStyleNameId, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes75) ? TD_DbPINVOKE.OdDbEntity_setPlotStyleNameSwigExplicitOdDbEntity__SWIG_2(this.swigCPtr, (int)plotStyleNameType, OdDbObjectId.getCPtr(plotStyleNameId), doSubents) : TD_DbPINVOKE.OdDbEntity_setPlotStyleName__SWIG_2(this.swigCPtr, (int)plotStyleNameType, OdDbObjectId.getCPtr(plotStyleNameId), doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotStyleName(PlotStyleNameType plotStyleNameType, OdDbObjectId plotStyleNameId)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes76) ? TD_DbPINVOKE.OdDbEntity_setPlotStyleNameSwigExplicitOdDbEntity__SWIG_3(this.swigCPtr, (int)plotStyleNameType, OdDbObjectId.getCPtr(plotStyleNameId)) : TD_DbPINVOKE.OdDbEntity_setPlotStyleName__SWIG_3(this.swigCPtr, (int)plotStyleNameType, OdDbObjectId.getCPtr(plotStyleNameId)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotStyleName(PlotStyleNameType plotStyleNameType)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes77) ? TD_DbPINVOKE.OdDbEntity_setPlotStyleNameSwigExplicitOdDbEntity__SWIG_4(this.swigCPtr, (int)plotStyleNameType) : TD_DbPINVOKE.OdDbEntity_setPlotStyleName__SWIG_4(this.swigCPtr, (int)plotStyleNameType));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public string layer()
		{
			string result = TD_DbPINVOKE.OdDbEntity_layer(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbObjectId layerId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbEntity_layerId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLayer(string layerName, bool doSubents, bool allowHiddenLayer)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes78) ? TD_DbPINVOKE.OdDbEntity_setLayerSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, layerName, doSubents, allowHiddenLayer) : TD_DbPINVOKE.OdDbEntity_setLayer__SWIG_0(this.swigCPtr, layerName, doSubents, allowHiddenLayer));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLayer(string layerName, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes79) ? TD_DbPINVOKE.OdDbEntity_setLayerSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, layerName, doSubents) : TD_DbPINVOKE.OdDbEntity_setLayer__SWIG_1(this.swigCPtr, layerName, doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLayer(string layerName)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes80) ? TD_DbPINVOKE.OdDbEntity_setLayerSwigExplicitOdDbEntity__SWIG_2(this.swigCPtr, layerName) : TD_DbPINVOKE.OdDbEntity_setLayer__SWIG_2(this.swigCPtr, layerName));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLayer(OdDbObjectId layerId, bool doSubents, bool allowHiddenLayer)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes81) ? TD_DbPINVOKE.OdDbEntity_setLayerSwigExplicitOdDbEntity__SWIG_3(this.swigCPtr, OdDbObjectId.getCPtr(layerId), doSubents, allowHiddenLayer) : TD_DbPINVOKE.OdDbEntity_setLayer__SWIG_3(this.swigCPtr, OdDbObjectId.getCPtr(layerId), doSubents, allowHiddenLayer));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLayer(OdDbObjectId layerId, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes82) ? TD_DbPINVOKE.OdDbEntity_setLayerSwigExplicitOdDbEntity__SWIG_4(this.swigCPtr, OdDbObjectId.getCPtr(layerId), doSubents) : TD_DbPINVOKE.OdDbEntity_setLayer__SWIG_4(this.swigCPtr, OdDbObjectId.getCPtr(layerId), doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLayer(OdDbObjectId layerId)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes83) ? TD_DbPINVOKE.OdDbEntity_setLayerSwigExplicitOdDbEntity__SWIG_5(this.swigCPtr, OdDbObjectId.getCPtr(layerId)) : TD_DbPINVOKE.OdDbEntity_setLayer__SWIG_5(this.swigCPtr, OdDbObjectId.getCPtr(layerId)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public string linetype()
		{
			string result = TD_DbPINVOKE.OdDbEntity_linetype(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbObjectId linetypeId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbEntity_linetypeId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLinetype(string linetypeName, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLinetype", OdDbEntity.swigMethodTypes84) ? TD_DbPINVOKE.OdDbEntity_setLinetypeSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, linetypeName, doSubents) : TD_DbPINVOKE.OdDbEntity_setLinetype__SWIG_0(this.swigCPtr, linetypeName, doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLinetype(string linetypeName)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLinetype", OdDbEntity.swigMethodTypes85) ? TD_DbPINVOKE.OdDbEntity_setLinetypeSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, linetypeName) : TD_DbPINVOKE.OdDbEntity_setLinetype__SWIG_1(this.swigCPtr, linetypeName));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLinetype(OdDbObjectId linetypeID, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLinetype", OdDbEntity.swigMethodTypes86) ? TD_DbPINVOKE.OdDbEntity_setLinetypeSwigExplicitOdDbEntity__SWIG_2(this.swigCPtr, OdDbObjectId.getCPtr(linetypeID), doSubents) : TD_DbPINVOKE.OdDbEntity_setLinetype__SWIG_2(this.swigCPtr, OdDbObjectId.getCPtr(linetypeID), doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLinetype(OdDbObjectId linetypeID)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLinetype", OdDbEntity.swigMethodTypes87) ? TD_DbPINVOKE.OdDbEntity_setLinetypeSwigExplicitOdDbEntity__SWIG_3(this.swigCPtr, OdDbObjectId.getCPtr(linetypeID)) : TD_DbPINVOKE.OdDbEntity_setLinetype__SWIG_3(this.swigCPtr, OdDbObjectId.getCPtr(linetypeID)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public string material()
		{
			string result = TD_DbPINVOKE.OdDbEntity_material(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbObjectId materialId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbEntity_materialId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setMaterial(string materialName, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setMaterial", OdDbEntity.swigMethodTypes88) ? TD_DbPINVOKE.OdDbEntity_setMaterialSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, materialName, doSubents) : TD_DbPINVOKE.OdDbEntity_setMaterial__SWIG_0(this.swigCPtr, materialName, doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setMaterial(string materialName)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setMaterial", OdDbEntity.swigMethodTypes89) ? TD_DbPINVOKE.OdDbEntity_setMaterialSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, materialName) : TD_DbPINVOKE.OdDbEntity_setMaterial__SWIG_1(this.swigCPtr, materialName));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setMaterial(OdDbObjectId materialID, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setMaterial", OdDbEntity.swigMethodTypes90) ? TD_DbPINVOKE.OdDbEntity_setMaterialSwigExplicitOdDbEntity__SWIG_2(this.swigCPtr, OdDbObjectId.getCPtr(materialID), doSubents) : TD_DbPINVOKE.OdDbEntity_setMaterial__SWIG_2(this.swigCPtr, OdDbObjectId.getCPtr(materialID), doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setMaterial(OdDbObjectId materialID)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setMaterial", OdDbEntity.swigMethodTypes91) ? TD_DbPINVOKE.OdDbEntity_setMaterialSwigExplicitOdDbEntity__SWIG_3(this.swigCPtr, OdDbObjectId.getCPtr(materialID)) : TD_DbPINVOKE.OdDbEntity_setMaterial__SWIG_3(this.swigCPtr, OdDbObjectId.getCPtr(materialID)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbObjectId visualStyleId(OdDbEntity.VisualStyleType vstype)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbEntity_visualStyleId__SWIG_0(this.swigCPtr, (int)vstype);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbObjectId visualStyleId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = TD_DbPINVOKE.OdDbEntity_visualStyleId__SWIG_1(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setVisualStyle(OdDbObjectId visualStyleId, OdDbEntity.VisualStyleType vstype, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setVisualStyle", OdDbEntity.swigMethodTypes92) ? TD_DbPINVOKE.OdDbEntity_setVisualStyleSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdDbObjectId.getCPtr(visualStyleId), (int)vstype, doSubents) : TD_DbPINVOKE.OdDbEntity_setVisualStyle__SWIG_0(this.swigCPtr, OdDbObjectId.getCPtr(visualStyleId), (int)vstype, doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setVisualStyle(OdDbObjectId visualStyleId, OdDbEntity.VisualStyleType vstype)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setVisualStyle", OdDbEntity.swigMethodTypes93) ? TD_DbPINVOKE.OdDbEntity_setVisualStyleSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdDbObjectId.getCPtr(visualStyleId), (int)vstype) : TD_DbPINVOKE.OdDbEntity_setVisualStyle__SWIG_1(this.swigCPtr, OdDbObjectId.getCPtr(visualStyleId), (int)vstype));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setVisualStyle(OdDbObjectId visualStyleId)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setVisualStyle", OdDbEntity.swigMethodTypes94) ? TD_DbPINVOKE.OdDbEntity_setVisualStyleSwigExplicitOdDbEntity__SWIG_2(this.swigCPtr, OdDbObjectId.getCPtr(visualStyleId)) : TD_DbPINVOKE.OdDbEntity_setVisualStyle__SWIG_2(this.swigCPtr, OdDbObjectId.getCPtr(visualStyleId)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGiMapper materialMapper()
		{
			IntPtr intPtr = this.SwigDerivedClassHasMethod("materialMapper", OdDbEntity.swigMethodTypes95) ? TD_DbPINVOKE.OdDbEntity_materialMapperSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_materialMapper(this.swigCPtr);
			OdGiMapper result = (intPtr == IntPtr.Zero) ? null : new OdGiMapper(intPtr, false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void setMaterialMapper(OdGiMapper mapper, bool doSubents)
		{
			if (this.SwigDerivedClassHasMethod("setMaterialMapper", OdDbEntity.swigMethodTypes96))
			{
				TD_DbPINVOKE.OdDbEntity_setMaterialMapperSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdGiMapper.getCPtr(mapper), doSubents);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_setMaterialMapper__SWIG_0(this.swigCPtr, OdGiMapper.getCPtr(mapper), doSubents);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void setMaterialMapper(OdGiMapper mapper)
		{
			if (this.SwigDerivedClassHasMethod("setMaterialMapper", OdDbEntity.swigMethodTypes97))
			{
				TD_DbPINVOKE.OdDbEntity_setMaterialMapperSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdGiMapper.getCPtr(mapper));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_setMaterialMapper__SWIG_1(this.swigCPtr, OdGiMapper.getCPtr(mapper));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double linetypeScale()
		{
			double result = TD_DbPINVOKE.OdDbEntity_linetypeScale(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLinetypeScale(double linetypeScale, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLinetypeScale", OdDbEntity.swigMethodTypes98) ? TD_DbPINVOKE.OdDbEntity_setLinetypeScaleSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, linetypeScale, doSubents) : TD_DbPINVOKE.OdDbEntity_setLinetypeScale__SWIG_0(this.swigCPtr, linetypeScale, doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLinetypeScale(double linetypeScale)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLinetypeScale", OdDbEntity.swigMethodTypes99) ? TD_DbPINVOKE.OdDbEntity_setLinetypeScaleSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, linetypeScale) : TD_DbPINVOKE.OdDbEntity_setLinetypeScale__SWIG_1(this.swigCPtr, linetypeScale));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public Visibility visibility()
		{
			Visibility result = (Visibility)TD_DbPINVOKE.OdDbEntity_visibility(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult setVisibility(Visibility visibility, bool doSubents)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_setVisibility__SWIG_0(this.swigCPtr, (int)visibility, doSubents);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult setVisibility(Visibility visibility)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_setVisibility__SWIG_1(this.swigCPtr, (int)visibility);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public Visibility tempVisibility()
		{
			Visibility result = (Visibility)TD_DbPINVOKE.OdDbEntity_tempVisibility(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setTempVisibility(Visibility visibility)
		{
			TD_DbPINVOKE.OdDbEntity_setTempVisibility(this.swigCPtr, (int)visibility);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public LineWeight lineWeight()
		{
			LineWeight result = (LineWeight)TD_DbPINVOKE.OdDbEntity_lineWeight(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLineWeight(LineWeight lineWeight, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLineWeight", OdDbEntity.swigMethodTypes100) ? TD_DbPINVOKE.OdDbEntity_setLineWeightSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, (int)lineWeight, doSubents) : TD_DbPINVOKE.OdDbEntity_setLineWeight__SWIG_0(this.swigCPtr, (int)lineWeight, doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setLineWeight(LineWeight lineWeight)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("setLineWeight", OdDbEntity.swigMethodTypes101) ? TD_DbPINVOKE.OdDbEntity_setLineWeightSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, (int)lineWeight) : TD_DbPINVOKE.OdDbEntity_setLineWeight__SWIG_1(this.swigCPtr, (int)lineWeight));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual bool castShadows()
		{
			bool result = this.SwigDerivedClassHasMethod("castShadows", OdDbEntity.swigMethodTypes102) ? TD_DbPINVOKE.OdDbEntity_castShadowsSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_castShadows(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void setCastShadows(bool castShadows)
		{
			if (this.SwigDerivedClassHasMethod("setCastShadows", OdDbEntity.swigMethodTypes103))
			{
				TD_DbPINVOKE.OdDbEntity_setCastShadowsSwigExplicitOdDbEntity(this.swigCPtr, castShadows);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_setCastShadows(this.swigCPtr, castShadows);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual bool receiveShadows()
		{
			bool result = this.SwigDerivedClassHasMethod("receiveShadows", OdDbEntity.swigMethodTypes104) ? TD_DbPINVOKE.OdDbEntity_receiveShadowsSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_receiveShadows(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void setReceiveShadows(bool receiveShadows)
		{
			if (this.SwigDerivedClassHasMethod("setReceiveShadows", OdDbEntity.swigMethodTypes105))
			{
				TD_DbPINVOKE.OdDbEntity_setReceiveShadowsSwigExplicitOdDbEntity(this.swigCPtr, receiveShadows);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_setReceiveShadows(this.swigCPtr, receiveShadows);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual CollisionType collisionType()
		{
			CollisionType result = (CollisionType)(this.SwigDerivedClassHasMethod("collisionType", OdDbEntity.swigMethodTypes106) ? TD_DbPINVOKE.OdDbEntity_collisionTypeSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_collisionType(this.swigCPtr));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setPropertiesFrom(OdDbEntity pSource, bool doSubents)
		{
			TD_DbPINVOKE.OdDbEntity_setPropertiesFrom__SWIG_0(this.swigCPtr, OdDbEntity.getCPtr(pSource), doSubents);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setPropertiesFrom(OdDbEntity pSource)
		{
			TD_DbPINVOKE.OdDbEntity_setPropertiesFrom__SWIG_1(this.swigCPtr, OdDbEntity.getCPtr(pSource));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual bool isPlanar()
		{
			bool result = this.SwigDerivedClassHasMethod("isPlanar", OdDbEntity.swigMethodTypes107) ? TD_DbPINVOKE.OdDbEntity_isPlanarSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_isPlanar(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult getPlane(OdGePlane plane, out Planarity planarity)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("getPlane", OdDbEntity.swigMethodTypes108) ? TD_DbPINVOKE.OdDbEntity_getPlaneSwigExplicitOdDbEntity(this.swigCPtr, OdGePlane.getCPtr(plane), out planarity) : TD_DbPINVOKE.OdDbEntity_getPlane(this.swigCPtr, OdGePlane.getCPtr(plane), out planarity));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void subHandOverTo(OdDbObject pNewObject)
		{
			if (this.SwigDerivedClassHasMethod("subHandOverTo", OdDbEntity.swigMethodTypes16))
			{
				TD_DbPINVOKE.OdDbEntity_subHandOverToSwigExplicitOdDbEntity(this.swigCPtr, OdDbObject.getCPtr(pNewObject));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subHandOverTo(this.swigCPtr, OdDbObject.getCPtr(pNewObject));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdResult transformBy(OdGeMatrix3d xfm)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_transformBy(this.swigCPtr, OdGeMatrix3d.getCPtr(xfm));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getTransformedCopy(OdGeMatrix3d xfm, out OdDbEntity pCopy)
		{
			IntPtr zero = IntPtr.Zero;
			OdResult result;
			try
			{
				OdResult odResult = (OdResult)TD_DbPINVOKE.OdDbEntity_getTransformedCopy(this.swigCPtr, OdGeMatrix3d.getCPtr(xfm), out zero);
				if (TD_DbPINVOKE.SWIGPendingException.Pending)
				{
					throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
				}
				result = odResult;
			}
			finally
			{
				pCopy = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(zero, true);
			}
			return result;
		}

		public OdResult explode(OdRxObjectPtrArray entitySet)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_explode(this.swigCPtr, OdRxObjectPtrArray.getCPtr(entitySet));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult explodeToBlock(OdDbBlockTableRecord pBlockRecord, OdDbObjectIdArray ids)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("explodeToBlock", OdDbEntity.swigMethodTypes109) ? TD_DbPINVOKE.OdDbEntity_explodeToBlockSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdDbBlockTableRecord.getCPtr(pBlockRecord), OdDbObjectIdArray.getCPtr(ids)) : TD_DbPINVOKE.OdDbEntity_explodeToBlock__SWIG_0(this.swigCPtr, OdDbBlockTableRecord.getCPtr(pBlockRecord), OdDbObjectIdArray.getCPtr(ids)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult explodeToBlock(OdDbBlockTableRecord pBlockRecord)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("explodeToBlock", OdDbEntity.swigMethodTypes110) ? TD_DbPINVOKE.OdDbEntity_explodeToBlockSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdDbBlockTableRecord.getCPtr(pBlockRecord)) : TD_DbPINVOKE.OdDbEntity_explodeToBlock__SWIG_1(this.swigCPtr, OdDbBlockTableRecord.getCPtr(pBlockRecord)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult explodeGeometry(OdRxObjectPtrArray entitySet)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("explodeGeometry", OdDbEntity.swigMethodTypes111) ? TD_DbPINVOKE.OdDbEntity_explodeGeometrySwigExplicitOdDbEntity(this.swigCPtr, OdRxObjectPtrArray.getCPtr(entitySet)) : TD_DbPINVOKE.OdDbEntity_explodeGeometry(this.swigCPtr, OdRxObjectPtrArray.getCPtr(entitySet)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult explodeGeometryToBlock(OdDbBlockTableRecord pBlockRecord, OdDbObjectIdArray ids)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("explodeGeometryToBlock", OdDbEntity.swigMethodTypes112) ? TD_DbPINVOKE.OdDbEntity_explodeGeometryToBlockSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdDbBlockTableRecord.getCPtr(pBlockRecord), OdDbObjectIdArray.getCPtr(ids)) : TD_DbPINVOKE.OdDbEntity_explodeGeometryToBlock__SWIG_0(this.swigCPtr, OdDbBlockTableRecord.getCPtr(pBlockRecord), OdDbObjectIdArray.getCPtr(ids)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult explodeGeometryToBlock(OdDbBlockTableRecord pBlockRecord)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("explodeGeometryToBlock", OdDbEntity.swigMethodTypes113) ? TD_DbPINVOKE.OdDbEntity_explodeGeometryToBlockSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdDbBlockTableRecord.getCPtr(pBlockRecord)) : TD_DbPINVOKE.OdDbEntity_explodeGeometryToBlock__SWIG_1(this.swigCPtr, OdDbBlockTableRecord.getCPtr(pBlockRecord)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual bool subWorldDraw(OdGiWorldDraw pWd)
		{
			bool result = this.SwigDerivedClassHasMethod("subWorldDraw", OdDbEntity.swigMethodTypes8) ? TD_DbPINVOKE.OdDbEntity_subWorldDrawSwigExplicitOdDbEntity(this.swigCPtr, OdGiWorldDraw.getCPtr(pWd)) : TD_DbPINVOKE.OdDbEntity_subWorldDraw(this.swigCPtr, OdGiWorldDraw.getCPtr(pWd));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void subViewportDraw(OdGiViewportDraw pVd)
		{
			if (this.SwigDerivedClassHasMethod("subViewportDraw", OdDbEntity.swigMethodTypes9))
			{
				TD_DbPINVOKE.OdDbEntity_subViewportDrawSwigExplicitOdDbEntity(this.swigCPtr, OdGiViewportDraw.getCPtr(pVd));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subViewportDraw(this.swigCPtr, OdGiViewportDraw.getCPtr(pVd));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setDatabaseDefaults(OdDbDatabase pDb, bool doSubents)
		{
			TD_DbPINVOKE.OdDbEntity_setDatabaseDefaults__SWIG_0(this.swigCPtr, OdDbDatabase.getCPtr(pDb), doSubents);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setDatabaseDefaults(OdDbDatabase pDb)
		{
			TD_DbPINVOKE.OdDbEntity_setDatabaseDefaults__SWIG_1(this.swigCPtr, OdDbDatabase.getCPtr(pDb));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setDatabaseDefaults()
		{
			TD_DbPINVOKE.OdDbEntity_setDatabaseDefaults__SWIG_2(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void subSetDatabaseDefaults(OdDbDatabase pDb, bool doSubents)
		{
			if (this.SwigDerivedClassHasMethod("subSetDatabaseDefaults", OdDbEntity.swigMethodTypes114))
			{
				TD_DbPINVOKE.OdDbEntity_subSetDatabaseDefaultsSwigExplicitOdDbEntity(this.swigCPtr, OdDbDatabase.getCPtr(pDb), doSubents);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subSetDatabaseDefaults(this.swigCPtr, OdDbDatabase.getCPtr(pDb), doSubents);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void applyPartialUndo(OdDbDwgFiler pUndoFiler, OdRxClass pClassObj)
		{
			if (this.SwigDerivedClassHasMethod("applyPartialUndo", OdDbEntity.swigMethodTypes33))
			{
				TD_DbPINVOKE.OdDbEntity_applyPartialUndoSwigExplicitOdDbEntity(this.swigCPtr, OdDbDwgFiler.getCPtr(pUndoFiler), OdRxClass.getCPtr(pClassObj));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_applyPartialUndo(this.swigCPtr, OdDbDwgFiler.getCPtr(pUndoFiler), OdRxClass.getCPtr(pClassObj));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdResult dwgInFields(OdDbDwgFiler pFiler)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("dwgInFields", OdDbEntity.swigMethodTypes23) ? TD_DbPINVOKE.OdDbEntity_dwgInFieldsSwigExplicitOdDbEntity(this.swigCPtr, OdDbDwgFiler.getCPtr(pFiler)) : TD_DbPINVOKE.OdDbEntity_dwgInFields(this.swigCPtr, OdDbDwgFiler.getCPtr(pFiler)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void dwgOutFields(OdDbDwgFiler pFiler)
		{
			if (this.SwigDerivedClassHasMethod("dwgOutFields", OdDbEntity.swigMethodTypes24))
			{
				TD_DbPINVOKE.OdDbEntity_dwgOutFieldsSwigExplicitOdDbEntity(this.swigCPtr, OdDbDwgFiler.getCPtr(pFiler));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_dwgOutFields(this.swigCPtr, OdDbDwgFiler.getCPtr(pFiler));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void appendToOwner(OdDbIdPair idPair, OdDbObject pOwnerObject, OdDbIdMapping ownerIdMap)
		{
			if (this.SwigDerivedClassHasMethod("appendToOwner", OdDbEntity.swigMethodTypes38))
			{
				TD_DbPINVOKE.OdDbEntity_appendToOwnerSwigExplicitOdDbEntity(this.swigCPtr, OdDbIdPair.getCPtr(idPair), OdDbObject.getCPtr(pOwnerObject), OdDbIdMapping.getCPtr(ownerIdMap));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_appendToOwner(this.swigCPtr, OdDbIdPair.getCPtr(idPair), OdDbObject.getCPtr(pOwnerObject), OdDbIdMapping.getCPtr(ownerIdMap));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdResult dxfIn(OdDbDxfFiler pFiler)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("dxfIn", OdDbEntity.swigMethodTypes21) ? TD_DbPINVOKE.OdDbEntity_dxfInSwigExplicitOdDbEntity(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler)) : TD_DbPINVOKE.OdDbEntity_dxfIn(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void dxfOut(OdDbDxfFiler pFiler)
		{
			if (this.SwigDerivedClassHasMethod("dxfOut", OdDbEntity.swigMethodTypes22))
			{
				TD_DbPINVOKE.OdDbEntity_dxfOutSwigExplicitOdDbEntity(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_dxfOut(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdResult dxfInFields(OdDbDxfFiler pFiler)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("dxfInFields", OdDbEntity.swigMethodTypes25) ? TD_DbPINVOKE.OdDbEntity_dxfInFieldsSwigExplicitOdDbEntity(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler)) : TD_DbPINVOKE.OdDbEntity_dxfInFields(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void dxfOutFields(OdDbDxfFiler pFiler)
		{
			if (this.SwigDerivedClassHasMethod("dxfOutFields", OdDbEntity.swigMethodTypes26))
			{
				TD_DbPINVOKE.OdDbEntity_dxfOutFieldsSwigExplicitOdDbEntity(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_dxfOutFields(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdResult dxfInFields_R12(OdDbDxfFiler pFiler)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("dxfInFields_R12", OdDbEntity.swigMethodTypes27) ? TD_DbPINVOKE.OdDbEntity_dxfInFields_R12SwigExplicitOdDbEntity(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler)) : TD_DbPINVOKE.OdDbEntity_dxfInFields_R12(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void dxfOutFields_R12(OdDbDxfFiler pFiler)
		{
			if (this.SwigDerivedClassHasMethod("dxfOutFields_R12", OdDbEntity.swigMethodTypes28))
			{
				TD_DbPINVOKE.OdDbEntity_dxfOutFields_R12SwigExplicitOdDbEntity(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_dxfOutFields_R12(this.swigCPtr, OdDbDxfFiler.getCPtr(pFiler));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdGiDrawable drawable()
		{
			OdGiDrawable result = (OdGiDrawable)Teigha.Core.Helpers.odrxCreateObjectInternal(this.SwigDerivedClassHasMethod("drawable", OdDbEntity.swigMethodTypes56) ? TD_DbPINVOKE.OdDbEntity_drawableSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_drawable(this.swigCPtr), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual uint subSetAttributes(OdGiDrawableTraits pTraits)
		{
			uint result = this.SwigDerivedClassHasMethod("subSetAttributes", OdDbEntity.swigMethodTypes7) ? TD_DbPINVOKE.OdDbEntity_subSetAttributesSwigExplicitOdDbEntity(this.swigCPtr, OdGiDrawableTraits.getCPtr(pTraits)) : TD_DbPINVOKE.OdDbEntity_subSetAttributes(this.swigCPtr, OdGiDrawableTraits.getCPtr(pTraits));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void subList()
		{
			if (this.SwigDerivedClassHasMethod("subList", OdDbEntity.swigMethodTypes115))
			{
				TD_DbPINVOKE.OdDbEntity_subListSwigExplicitOdDbEntity(this.swigCPtr);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subList(this.swigCPtr);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual OdResult subGetClassID(IntPtr pClsid)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetClassID", OdDbEntity.swigMethodTypes61) ? TD_DbPINVOKE.OdDbEntity_subGetClassIDSwigExplicitOdDbEntity(this.swigCPtr, pClsid) : TD_DbPINVOKE.OdDbEntity_subGetClassID(this.swigCPtr, pClsid));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void subSwapIdWith(OdDbObjectId otherId, bool swapXdata, bool swapExtDict)
		{
			if (this.SwigDerivedClassHasMethod("subSwapIdWith", OdDbEntity.swigMethodTypes17))
			{
				TD_DbPINVOKE.OdDbEntity_subSwapIdWithSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdDbObjectId.getCPtr(otherId), swapXdata, swapExtDict);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subSwapIdWith__SWIG_0(this.swigCPtr, OdDbObjectId.getCPtr(otherId), swapXdata, swapExtDict);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void subSwapIdWith(OdDbObjectId otherId, bool swapXdata)
		{
			if (this.SwigDerivedClassHasMethod("subSwapIdWith", OdDbEntity.swigMethodTypes18))
			{
				TD_DbPINVOKE.OdDbEntity_subSwapIdWithSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdDbObjectId.getCPtr(otherId), swapXdata);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subSwapIdWith__SWIG_1(this.swigCPtr, OdDbObjectId.getCPtr(otherId), swapXdata);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void subSwapIdWith(OdDbObjectId otherId)
		{
			if (this.SwigDerivedClassHasMethod("subSwapIdWith", OdDbEntity.swigMethodTypes19))
			{
				TD_DbPINVOKE.OdDbEntity_subSwapIdWithSwigExplicitOdDbEntity__SWIG_2(this.swigCPtr, OdDbObjectId.getCPtr(otherId));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subSwapIdWith__SWIG_2(this.swigCPtr, OdDbObjectId.getCPtr(otherId));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void recordGraphicsModified(bool graphicsModified)
		{
			TD_DbPINVOKE.OdDbEntity_recordGraphicsModified__SWIG_0(this.swigCPtr, graphicsModified);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void recordGraphicsModified()
		{
			TD_DbPINVOKE.OdDbEntity_recordGraphicsModified__SWIG_1(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void copyFrom(OdRxObject pSource)
		{
			TD_DbPINVOKE.OdDbEntity_copyFrom(this.swigCPtr, OdRxObject.getCPtr(pSource));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void list()
		{
			TD_DbPINVOKE.OdDbEntity_list(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdResult getGeomExtents(OdGeExtents3d extents)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getGeomExtents(this.swigCPtr, OdGeExtents3d.getCPtr(extents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void highlight(bool bDoIt, OdDbFullSubentPath pSubId, bool highlightAll)
		{
			TD_DbPINVOKE.OdDbEntity_highlight__SWIG_0(this.swigCPtr, bDoIt, OdDbFullSubentPath.getCPtr(pSubId), highlightAll);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void highlight(bool bDoIt, OdDbFullSubentPath pSubId)
		{
			TD_DbPINVOKE.OdDbEntity_highlight__SWIG_1(this.swigCPtr, bDoIt, OdDbFullSubentPath.getCPtr(pSubId));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void highlight(bool bDoIt)
		{
			TD_DbPINVOKE.OdDbEntity_highlight__SWIG_2(this.swigCPtr, bDoIt);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void highlight()
		{
			TD_DbPINVOKE.OdDbEntity_highlight__SWIG_3(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdResult getOsnapPoints(OsnapMode osnapMode, IntPtr gsSelectionMark, OdGePoint3d pickPoint, OdGePoint3d lastPoint, OdGeMatrix3d xWorldToEye, OdGePoint3dArray snapPoints)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getOsnapPoints__SWIG_0(this.swigCPtr, (int)osnapMode, gsSelectionMark, OdGePoint3d.getCPtr(pickPoint), OdGePoint3d.getCPtr(lastPoint), OdGeMatrix3d.getCPtr(xWorldToEye), OdGePoint3dArray.getCPtr(snapPoints));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getOsnapPoints(OsnapMode osnapMode, IntPtr gsSelectionMark, OdGePoint3d pickPoint, OdGePoint3d lastPoint, OdGeMatrix3d xWorldToEye, OdGePoint3dArray snapPoints, OdGeMatrix3d insertionMat)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getOsnapPoints__SWIG_1(this.swigCPtr, (int)osnapMode, gsSelectionMark, OdGePoint3d.getCPtr(pickPoint), OdGePoint3d.getCPtr(lastPoint), OdGeMatrix3d.getCPtr(xWorldToEye), OdGePoint3dArray.getCPtr(snapPoints), OdGeMatrix3d.getCPtr(insertionMat));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public bool isContentSnappable()
		{
			bool result = TD_DbPINVOKE.OdDbEntity_isContentSnappable(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getGripPoints(OdGePoint3dArray gripPoints)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getGripPoints__SWIG_0(this.swigCPtr, OdGePoint3dArray.getCPtr(gripPoints));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult moveGripPointsAt(OdIntArray indices, OdGeVector3d offset)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_moveGripPointsAt__SWIG_0(this.swigCPtr, OdIntArray.getCPtr(indices).Handle, OdGeVector3d.getCPtr(offset));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getGripPoints(OdDbGripDataPtrArray grips, double curViewUnitSize, int gripSize, OdGeVector3d curViewDir, int bitFlags)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getGripPoints__SWIG_1(this.swigCPtr, OdDbGripDataPtrArray.getCPtr(grips), curViewUnitSize, gripSize, OdGeVector3d.getCPtr(curViewDir), bitFlags);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult moveGripPointsAt(OdDbVoidPtrArray grips, OdGeVector3d offset, int bitFlags)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_moveGripPointsAt__SWIG_1(this.swigCPtr, OdDbVoidPtrArray.getCPtr(grips), OdGeVector3d.getCPtr(offset), bitFlags);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getStretchPoints(OdGePoint3dArray stretchPoints)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getStretchPoints(this.swigCPtr, OdGePoint3dArray.getCPtr(stretchPoints));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult moveStretchPointsAt(OdIntArray indices, OdGeVector3d offset)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_moveStretchPointsAt(this.swigCPtr, OdIntArray.getCPtr(indices).Handle, OdGeVector3d.getCPtr(offset));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void dragStatus(DragStat status)
		{
			if (this.SwigDerivedClassHasMethod("dragStatus", OdDbEntity.swigMethodTypes116))
			{
				TD_DbPINVOKE.OdDbEntity_dragStatusSwigExplicitOdDbEntity(this.swigCPtr, (int)status);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_dragStatus(this.swigCPtr, (int)status);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void gripStatus(GripStat status)
		{
			TD_DbPINVOKE.OdDbEntity_gripStatus(this.swigCPtr, (int)status);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool cloneMeForDragging()
		{
			bool result = TD_DbPINVOKE.OdDbEntity_cloneMeForDragging(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public bool hideMeForDragging()
		{
			bool result = TD_DbPINVOKE.OdDbEntity_hideMeForDragging(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void saveAs(OdGiWorldDraw pWd, DwgVersion ver)
		{
			if (this.SwigDerivedClassHasMethod("saveAs", OdDbEntity.swigMethodTypes117))
			{
				TD_DbPINVOKE.OdDbEntity_saveAsSwigExplicitOdDbEntity(this.swigCPtr, OdGiWorldDraw.getCPtr(pWd), (int)ver);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_saveAs(this.swigCPtr, OdGiWorldDraw.getCPtr(pWd), (int)ver);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdResult getCompoundObjectTransform(OdGeMatrix3d xM)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getCompoundObjectTransform(this.swigCPtr, OdGeMatrix3d.getCPtr(xM));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult intersectWith(OdDbEntity pEnt, Intersect intType, OdGePoint3dArray points, IntPtr thisGsMarker, IntPtr otherGsMarker)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_intersectWith__SWIG_0(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points), thisGsMarker, otherGsMarker);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult intersectWith(OdDbEntity pEnt, Intersect intType, OdGePoint3dArray points, IntPtr thisGsMarker)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_intersectWith__SWIG_1(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points), thisGsMarker);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult intersectWith(OdDbEntity pEnt, Intersect intType, OdGePoint3dArray points)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_intersectWith__SWIG_2(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult intersectWith(OdDbEntity pEnt, Intersect intType, OdGePlane projPlane, OdGePoint3dArray points, IntPtr thisGsMarker, IntPtr otherGsMarker)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_intersectWith__SWIG_3(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points), thisGsMarker, otherGsMarker);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult intersectWith(OdDbEntity pEnt, Intersect intType, OdGePlane projPlane, OdGePoint3dArray points, IntPtr thisGsMarker)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_intersectWith__SWIG_4(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points), thisGsMarker);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult intersectWith(OdDbEntity pEnt, Intersect intType, OdGePlane projPlane, OdGePoint3dArray points)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_intersectWith__SWIG_5(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult boundingBoxIntersectWith(OdDbEntity pEnt, Intersect intType, OdGePoint3dArray points, IntPtr thisGsMarker, IntPtr otherGsMarker)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_boundingBoxIntersectWith__SWIG_0(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points), thisGsMarker, otherGsMarker);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult boundingBoxIntersectWith(OdDbEntity pEnt, Intersect intType, OdGePlane projPlane, OdGePoint3dArray points, IntPtr thisGsMarker, IntPtr otherGsMarker)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_boundingBoxIntersectWith__SWIG_1(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points), thisGsMarker, otherGsMarker);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getSubentPathsAtGsMarker(SubentType type, IntPtr gsMark, OdGePoint3d pickPoint, OdGeMatrix3d xfm, OdDbFullSubentPathArray subentPaths, OdDbObjectIdArray pEntAndInsertStack)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getSubentPathsAtGsMarker__SWIG_0(this.swigCPtr, (int)type, gsMark, OdGePoint3d.getCPtr(pickPoint), OdGeMatrix3d.getCPtr(xfm), OdDbFullSubentPathArray.getCPtr(subentPaths), OdDbObjectIdArray.getCPtr(pEntAndInsertStack));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getSubentPathsAtGsMarker(SubentType type, IntPtr gsMark, OdGePoint3d pickPoint, OdGeMatrix3d xfm, OdDbFullSubentPathArray subentPaths)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getSubentPathsAtGsMarker__SWIG_1(this.swigCPtr, (int)type, gsMark, OdGePoint3d.getCPtr(pickPoint), OdGeMatrix3d.getCPtr(xfm), OdDbFullSubentPathArray.getCPtr(subentPaths));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getGsMarkersAtSubentPath(OdDbFullSubentPath subPath, SWIGTYPE_p_OdGsMarkerArray gsMarkers)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getGsMarkersAtSubentPath(this.swigCPtr, OdDbFullSubentPath.getCPtr(subPath), SWIGTYPE_p_OdGsMarkerArray.getCPtr(gsMarkers));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getGripPointsAtSubentPath(OdDbFullSubentPath path, OdDbGripDataPtrArray grips, double curViewUnitSize, int gripSize, OdGeVector3d curViewDir, uint bitflags)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getGripPointsAtSubentPath(this.swigCPtr, OdDbFullSubentPath.getCPtr(path), OdDbGripDataPtrArray.getCPtr(grips), curViewUnitSize, gripSize, OdGeVector3d.getCPtr(curViewDir), bitflags);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult moveGripPointsAtSubentPaths(OdDbFullSubentPathArray paths, OdDbVoidPtrArray gripAppData, OdGeVector3d offset, uint bitflags)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_moveGripPointsAtSubentPaths(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths), OdDbVoidPtrArray.getCPtr(gripAppData), OdGeVector3d.getCPtr(offset), bitflags);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult deleteSubentPaths(OdDbFullSubentPathArray paths)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_deleteSubentPaths(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult addSubentPaths(OdDbFullSubentPathArray paths)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_addSubentPaths(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdDbEntity subentPtr(OdDbFullSubentPath path)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = TD_DbPINVOKE.OdDbEntity_subentPtr(this.swigCPtr, OdDbFullSubentPath.getCPtr(path));
			OdDbEntity result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult transformSubentPathsBy(OdDbFullSubentPathArray paths, OdGeMatrix3d xform)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_transformSubentPathsBy(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths), OdGeMatrix3d.getCPtr(xform));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getSubentClassId(OdDbFullSubentPath path, IntPtr clsId)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getSubentClassId(this.swigCPtr, OdDbFullSubentPath.getCPtr(path), clsId);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public OdResult getSubentPathGeomExtents(OdDbFullSubentPath path, OdGeExtents3d extents)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbEntity_getSubentPathGeomExtents(this.swigCPtr, OdDbFullSubentPath.getCPtr(path), OdGeExtents3d.getCPtr(extents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void subentGripStatus(GripStat status, OdDbFullSubentPath subentity)
		{
			TD_DbPINVOKE.OdDbEntity_subentGripStatus(this.swigCPtr, (int)status, OdDbFullSubentPath.getCPtr(subentity));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual OdGeMatrix3d getEcs()
		{
			OdGeMatrix3d result = new OdGeMatrix3d(this.SwigDerivedClassHasMethod("getEcs", OdDbEntity.swigMethodTypes118) ? TD_DbPINVOKE.OdDbEntity_getEcsSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_getEcs(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdDbObject subWblockClone(OdDbIdMapping ownerIdMap, OdDbObject arg1)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = this.SwigDerivedClassHasMethod("subWblockClone", OdDbEntity.swigMethodTypes63) ? TD_DbPINVOKE.OdDbEntity_subWblockCloneSwigExplicitOdDbEntity(this.swigCPtr, OdDbIdMapping.getCPtr(ownerIdMap), OdDbObject.getCPtr(arg1)) : TD_DbPINVOKE.OdDbEntity_subWblockClone(this.swigCPtr, OdDbIdMapping.getCPtr(ownerIdMap), OdDbObject.getCPtr(arg1));
			OdDbObject result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdDbObject subDeepClone(OdDbIdMapping ownerIdMap, OdDbObject arg1)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = this.SwigDerivedClassHasMethod("subDeepClone", OdDbEntity.swigMethodTypes62) ? TD_DbPINVOKE.OdDbEntity_subDeepCloneSwigExplicitOdDbEntity(this.swigCPtr, OdDbIdMapping.getCPtr(ownerIdMap), OdDbObject.getCPtr(arg1)) : TD_DbPINVOKE.OdDbEntity_subDeepClone(this.swigCPtr, OdDbIdMapping.getCPtr(ownerIdMap), OdDbObject.getCPtr(arg1));
			OdDbObject result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subTransformBy(OdGeMatrix3d xfm)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subTransformBy", OdDbEntity.swigMethodTypes119) ? TD_DbPINVOKE.OdDbEntity_subTransformBySwigExplicitOdDbEntity(this.swigCPtr, OdGeMatrix3d.getCPtr(xfm)) : TD_DbPINVOKE.OdDbEntity_subTransformBy(this.swigCPtr, OdGeMatrix3d.getCPtr(xfm)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetTransformedCopy(OdGeMatrix3d xfm, out OdDbEntity pCopy)
		{
			IntPtr zero = IntPtr.Zero;
			OdResult result;
			try
			{
				OdResult odResult = (OdResult)(this.SwigDerivedClassHasMethod("subGetTransformedCopy", OdDbEntity.swigMethodTypes120) ? TD_DbPINVOKE.OdDbEntity_subGetTransformedCopySwigExplicitOdDbEntity(this.swigCPtr, OdGeMatrix3d.getCPtr(xfm), out zero) : TD_DbPINVOKE.OdDbEntity_subGetTransformedCopy(this.swigCPtr, OdGeMatrix3d.getCPtr(xfm), out zero));
				if (TD_DbPINVOKE.SWIGPendingException.Pending)
				{
					throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
				}
				result = odResult;
			}
			finally
			{
				pCopy = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(zero, true);
			}
			return result;
		}

		protected virtual OdResult subExplode(OdRxObjectPtrArray entitySet)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subExplode", OdDbEntity.swigMethodTypes121) ? TD_DbPINVOKE.OdDbEntity_subExplodeSwigExplicitOdDbEntity(this.swigCPtr, OdRxObjectPtrArray.getCPtr(entitySet)) : TD_DbPINVOKE.OdDbEntity_subExplode(this.swigCPtr, OdRxObjectPtrArray.getCPtr(entitySet)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetCompoundObjectTransform(OdGeMatrix3d xM)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetCompoundObjectTransform", OdDbEntity.swigMethodTypes122) ? TD_DbPINVOKE.OdDbEntity_subGetCompoundObjectTransformSwigExplicitOdDbEntity(this.swigCPtr, OdGeMatrix3d.getCPtr(xM)) : TD_DbPINVOKE.OdDbEntity_subGetCompoundObjectTransform(this.swigCPtr, OdGeMatrix3d.getCPtr(xM)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual bool subCloneMeForDragging()
		{
			bool result = this.SwigDerivedClassHasMethod("subCloneMeForDragging", OdDbEntity.swigMethodTypes123) ? TD_DbPINVOKE.OdDbEntity_subCloneMeForDraggingSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_subCloneMeForDragging(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual bool subHideMeForDragging()
		{
			bool result = this.SwigDerivedClassHasMethod("subHideMeForDragging", OdDbEntity.swigMethodTypes124) ? TD_DbPINVOKE.OdDbEntity_subHideMeForDraggingSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_subHideMeForDragging(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual void subGripStatus(GripStat status)
		{
			if (this.SwigDerivedClassHasMethod("subGripStatus", OdDbEntity.swigMethodTypes125))
			{
				TD_DbPINVOKE.OdDbEntity_subGripStatusSwigExplicitOdDbEntity(this.swigCPtr, (int)status);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subGripStatus(this.swigCPtr, (int)status);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		protected virtual OdResult subGetOsnapPoints(OsnapMode osnapMode, IntPtr gsSelectionMark, OdGePoint3d pickPoint, OdGePoint3d lastPoint, OdGeMatrix3d xWorldToEye, OdGePoint3dArray snapPoints)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetOsnapPoints", OdDbEntity.swigMethodTypes126) ? TD_DbPINVOKE.OdDbEntity_subGetOsnapPointsSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, (int)osnapMode, gsSelectionMark, OdGePoint3d.getCPtr(pickPoint), OdGePoint3d.getCPtr(lastPoint), OdGeMatrix3d.getCPtr(xWorldToEye), OdGePoint3dArray.getCPtr(snapPoints)) : TD_DbPINVOKE.OdDbEntity_subGetOsnapPoints__SWIG_0(this.swigCPtr, (int)osnapMode, gsSelectionMark, OdGePoint3d.getCPtr(pickPoint), OdGePoint3d.getCPtr(lastPoint), OdGeMatrix3d.getCPtr(xWorldToEye), OdGePoint3dArray.getCPtr(snapPoints)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetOsnapPoints(OsnapMode osnapMode, IntPtr gsSelectionMark, OdGePoint3d pickPoint, OdGePoint3d lastPoint, OdGeMatrix3d xWorldToEye, OdGePoint3dArray snapPoints, OdGeMatrix3d insertionMat)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetOsnapPoints", OdDbEntity.swigMethodTypes127) ? TD_DbPINVOKE.OdDbEntity_subGetOsnapPointsSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, (int)osnapMode, gsSelectionMark, OdGePoint3d.getCPtr(pickPoint), OdGePoint3d.getCPtr(lastPoint), OdGeMatrix3d.getCPtr(xWorldToEye), OdGePoint3dArray.getCPtr(snapPoints), OdGeMatrix3d.getCPtr(insertionMat)) : TD_DbPINVOKE.OdDbEntity_subGetOsnapPoints__SWIG_1(this.swigCPtr, (int)osnapMode, gsSelectionMark, OdGePoint3d.getCPtr(pickPoint), OdGePoint3d.getCPtr(lastPoint), OdGeMatrix3d.getCPtr(xWorldToEye), OdGePoint3dArray.getCPtr(snapPoints), OdGeMatrix3d.getCPtr(insertionMat)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual bool subIsContentSnappable()
		{
			bool result = this.SwigDerivedClassHasMethod("subIsContentSnappable", OdDbEntity.swigMethodTypes128) ? TD_DbPINVOKE.OdDbEntity_subIsContentSnappableSwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_subIsContentSnappable(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetGripPoints(OdGePoint3dArray gripPoints)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetGripPoints", OdDbEntity.swigMethodTypes129) ? TD_DbPINVOKE.OdDbEntity_subGetGripPointsSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdGePoint3dArray.getCPtr(gripPoints)) : TD_DbPINVOKE.OdDbEntity_subGetGripPoints__SWIG_0(this.swigCPtr, OdGePoint3dArray.getCPtr(gripPoints)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subMoveGripPointsAt(OdIntArray indices, OdGeVector3d offset)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subMoveGripPointsAt", OdDbEntity.swigMethodTypes130) ? TD_DbPINVOKE.OdDbEntity_subMoveGripPointsAtSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdIntArray.getCPtr(indices).Handle, OdGeVector3d.getCPtr(offset)) : TD_DbPINVOKE.OdDbEntity_subMoveGripPointsAt__SWIG_0(this.swigCPtr, OdIntArray.getCPtr(indices).Handle, OdGeVector3d.getCPtr(offset)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetGripPoints(OdDbGripDataPtrArray grips, double curViewUnitSize, int gripSize, OdGeVector3d curViewDir, int bitFlags)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetGripPoints", OdDbEntity.swigMethodTypes131) ? TD_DbPINVOKE.OdDbEntity_subGetGripPointsSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdDbGripDataPtrArray.getCPtr(grips), curViewUnitSize, gripSize, OdGeVector3d.getCPtr(curViewDir), bitFlags) : TD_DbPINVOKE.OdDbEntity_subGetGripPoints__SWIG_1(this.swigCPtr, OdDbGripDataPtrArray.getCPtr(grips), curViewUnitSize, gripSize, OdGeVector3d.getCPtr(curViewDir), bitFlags));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subMoveGripPointsAt(OdDbVoidPtrArray grips, OdGeVector3d offset, int bitFlags)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subMoveGripPointsAt", OdDbEntity.swigMethodTypes132) ? TD_DbPINVOKE.OdDbEntity_subMoveGripPointsAtSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdDbVoidPtrArray.getCPtr(grips), OdGeVector3d.getCPtr(offset), bitFlags) : TD_DbPINVOKE.OdDbEntity_subMoveGripPointsAt__SWIG_1(this.swigCPtr, OdDbVoidPtrArray.getCPtr(grips), OdGeVector3d.getCPtr(offset), bitFlags));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetStretchPoints(OdGePoint3dArray stretchPoints)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetStretchPoints", OdDbEntity.swigMethodTypes133) ? TD_DbPINVOKE.OdDbEntity_subGetStretchPointsSwigExplicitOdDbEntity(this.swigCPtr, OdGePoint3dArray.getCPtr(stretchPoints)) : TD_DbPINVOKE.OdDbEntity_subGetStretchPoints(this.swigCPtr, OdGePoint3dArray.getCPtr(stretchPoints)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subMoveStretchPointsAt(OdIntArray indices, OdGeVector3d offset)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subMoveStretchPointsAt", OdDbEntity.swigMethodTypes134) ? TD_DbPINVOKE.OdDbEntity_subMoveStretchPointsAtSwigExplicitOdDbEntity(this.swigCPtr, OdIntArray.getCPtr(indices).Handle, OdGeVector3d.getCPtr(offset)) : TD_DbPINVOKE.OdDbEntity_subMoveStretchPointsAt(this.swigCPtr, OdIntArray.getCPtr(indices).Handle, OdGeVector3d.getCPtr(offset)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subIntersectWith(OdDbEntity pEnt, Intersect intType, OdGePoint3dArray points, IntPtr thisGsMarker, IntPtr otherGsMarker)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes135) ? TD_DbPINVOKE.OdDbEntity_subIntersectWithSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points), thisGsMarker, otherGsMarker) : TD_DbPINVOKE.OdDbEntity_subIntersectWith__SWIG_0(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points), thisGsMarker, otherGsMarker));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subIntersectWith(OdDbEntity pEnt, Intersect intType, OdGePoint3dArray points, IntPtr thisGsMarker)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes136) ? TD_DbPINVOKE.OdDbEntity_subIntersectWithSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points), thisGsMarker) : TD_DbPINVOKE.OdDbEntity_subIntersectWith__SWIG_1(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points), thisGsMarker));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subIntersectWith(OdDbEntity pEnt, Intersect intType, OdGePoint3dArray points)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes137) ? TD_DbPINVOKE.OdDbEntity_subIntersectWithSwigExplicitOdDbEntity__SWIG_2(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points)) : TD_DbPINVOKE.OdDbEntity_subIntersectWith__SWIG_2(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePoint3dArray.getCPtr(points)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subIntersectWith(OdDbEntity pEnt, Intersect intType, OdGePlane projPlane, OdGePoint3dArray points, IntPtr thisGsMarker, IntPtr otherGsMarker)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes138) ? TD_DbPINVOKE.OdDbEntity_subIntersectWithSwigExplicitOdDbEntity__SWIG_3(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points), thisGsMarker, otherGsMarker) : TD_DbPINVOKE.OdDbEntity_subIntersectWith__SWIG_3(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points), thisGsMarker, otherGsMarker));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subIntersectWith(OdDbEntity pEnt, Intersect intType, OdGePlane projPlane, OdGePoint3dArray points, IntPtr thisGsMarker)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes139) ? TD_DbPINVOKE.OdDbEntity_subIntersectWithSwigExplicitOdDbEntity__SWIG_4(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points), thisGsMarker) : TD_DbPINVOKE.OdDbEntity_subIntersectWith__SWIG_4(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points), thisGsMarker));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subIntersectWith(OdDbEntity pEnt, Intersect intType, OdGePlane projPlane, OdGePoint3dArray points)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes140) ? TD_DbPINVOKE.OdDbEntity_subIntersectWithSwigExplicitOdDbEntity__SWIG_5(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points)) : TD_DbPINVOKE.OdDbEntity_subIntersectWith__SWIG_5(this.swigCPtr, OdDbEntity.getCPtr(pEnt), (int)intType, OdGePlane.getCPtr(projPlane), OdGePoint3dArray.getCPtr(points)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual void subHighlight(bool bDoIt, OdDbFullSubentPath pSubId, bool highlightAll)
		{
			if (this.SwigDerivedClassHasMethod("subHighlight", OdDbEntity.swigMethodTypes141))
			{
				TD_DbPINVOKE.OdDbEntity_subHighlightSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, bDoIt, OdDbFullSubentPath.getCPtr(pSubId), highlightAll);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subHighlight__SWIG_0(this.swigCPtr, bDoIt, OdDbFullSubentPath.getCPtr(pSubId), highlightAll);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		protected virtual void subHighlight(bool bDoIt, OdDbFullSubentPath pSubId)
		{
			if (this.SwigDerivedClassHasMethod("subHighlight", OdDbEntity.swigMethodTypes142))
			{
				TD_DbPINVOKE.OdDbEntity_subHighlightSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, bDoIt, OdDbFullSubentPath.getCPtr(pSubId));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subHighlight__SWIG_1(this.swigCPtr, bDoIt, OdDbFullSubentPath.getCPtr(pSubId));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		protected virtual void subHighlight(bool bDoIt)
		{
			if (this.SwigDerivedClassHasMethod("subHighlight", OdDbEntity.swigMethodTypes143))
			{
				TD_DbPINVOKE.OdDbEntity_subHighlightSwigExplicitOdDbEntity__SWIG_2(this.swigCPtr, bDoIt);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subHighlight__SWIG_2(this.swigCPtr, bDoIt);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		protected virtual void subHighlight()
		{
			if (this.SwigDerivedClassHasMethod("subHighlight", OdDbEntity.swigMethodTypes144))
			{
				TD_DbPINVOKE.OdDbEntity_subHighlightSwigExplicitOdDbEntity__SWIG_3(this.swigCPtr);
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subHighlight__SWIG_3(this.swigCPtr);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		protected virtual Visibility subVisibility()
		{
			Visibility result = (Visibility)(this.SwigDerivedClassHasMethod("subVisibility", OdDbEntity.swigMethodTypes145) ? TD_DbPINVOKE.OdDbEntity_subVisibilitySwigExplicitOdDbEntity(this.swigCPtr) : TD_DbPINVOKE.OdDbEntity_subVisibility(this.swigCPtr));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subSetVisibility(Visibility visibility, bool doSubents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subSetVisibility", OdDbEntity.swigMethodTypes146) ? TD_DbPINVOKE.OdDbEntity_subSetVisibilitySwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, (int)visibility, doSubents) : TD_DbPINVOKE.OdDbEntity_subSetVisibility__SWIG_0(this.swigCPtr, (int)visibility, doSubents));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subSetVisibility(Visibility visibility)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subSetVisibility", OdDbEntity.swigMethodTypes147) ? TD_DbPINVOKE.OdDbEntity_subSetVisibilitySwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, (int)visibility) : TD_DbPINVOKE.OdDbEntity_subSetVisibility__SWIG_1(this.swigCPtr, (int)visibility));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetGeomExtents(OdGeExtents3d extents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetGeomExtents", OdDbEntity.swigMethodTypes148) ? TD_DbPINVOKE.OdDbEntity_subGetGeomExtentsSwigExplicitOdDbEntity(this.swigCPtr, OdGeExtents3d.getCPtr(extents)) : TD_DbPINVOKE.OdDbEntity_subGetGeomExtents(this.swigCPtr, OdGeExtents3d.getCPtr(extents)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subDeleteSubentPaths(OdDbFullSubentPathArray paths)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subDeleteSubentPaths", OdDbEntity.swigMethodTypes149) ? TD_DbPINVOKE.OdDbEntity_subDeleteSubentPathsSwigExplicitOdDbEntity(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths)) : TD_DbPINVOKE.OdDbEntity_subDeleteSubentPaths(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subAddSubentPaths(OdDbFullSubentPathArray paths)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subAddSubentPaths", OdDbEntity.swigMethodTypes150) ? TD_DbPINVOKE.OdDbEntity_subAddSubentPathsSwigExplicitOdDbEntity(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths)) : TD_DbPINVOKE.OdDbEntity_subAddSubentPaths(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subMoveGripPointsAtSubentPaths(OdDbFullSubentPathArray paths, OdDbVoidPtrArray gripAppData, OdGeVector3d offset, uint bitflags)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subMoveGripPointsAtSubentPaths", OdDbEntity.swigMethodTypes151) ? TD_DbPINVOKE.OdDbEntity_subMoveGripPointsAtSubentPathsSwigExplicitOdDbEntity(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths), OdDbVoidPtrArray.getCPtr(gripAppData), OdGeVector3d.getCPtr(offset), bitflags) : TD_DbPINVOKE.OdDbEntity_subMoveGripPointsAtSubentPaths(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths), OdDbVoidPtrArray.getCPtr(gripAppData), OdGeVector3d.getCPtr(offset), bitflags));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetGripPointsAtSubentPath(OdDbFullSubentPath path, OdDbGripDataPtrArray grips, double curViewUnitSize, int gripSize, OdGeVector3d curViewDir, uint bitflags)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetGripPointsAtSubentPath", OdDbEntity.swigMethodTypes152) ? TD_DbPINVOKE.OdDbEntity_subGetGripPointsAtSubentPathSwigExplicitOdDbEntity(this.swigCPtr, OdDbFullSubentPath.getCPtr(path), OdDbGripDataPtrArray.getCPtr(grips), curViewUnitSize, gripSize, OdGeVector3d.getCPtr(curViewDir), bitflags) : TD_DbPINVOKE.OdDbEntity_subGetGripPointsAtSubentPath(this.swigCPtr, OdDbFullSubentPath.getCPtr(path), OdDbGripDataPtrArray.getCPtr(grips), curViewUnitSize, gripSize, OdGeVector3d.getCPtr(curViewDir), bitflags));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetSubentPathsAtGsMarker(SubentType type, IntPtr gsMark, OdGePoint3d pickPoint, OdGeMatrix3d xfm, OdDbFullSubentPathArray subentPaths, OdDbObjectIdArray pEntAndInsertStack)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetSubentPathsAtGsMarker", OdDbEntity.swigMethodTypes153) ? TD_DbPINVOKE.OdDbEntity_subGetSubentPathsAtGsMarkerSwigExplicitOdDbEntity__SWIG_0(this.swigCPtr, (int)type, gsMark, OdGePoint3d.getCPtr(pickPoint), OdGeMatrix3d.getCPtr(xfm), OdDbFullSubentPathArray.getCPtr(subentPaths), OdDbObjectIdArray.getCPtr(pEntAndInsertStack)) : TD_DbPINVOKE.OdDbEntity_subGetSubentPathsAtGsMarker__SWIG_0(this.swigCPtr, (int)type, gsMark, OdGePoint3d.getCPtr(pickPoint), OdGeMatrix3d.getCPtr(xfm), OdDbFullSubentPathArray.getCPtr(subentPaths), OdDbObjectIdArray.getCPtr(pEntAndInsertStack)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetSubentPathsAtGsMarker(SubentType type, IntPtr gsMark, OdGePoint3d pickPoint, OdGeMatrix3d xfm, OdDbFullSubentPathArray subentPaths)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetSubentPathsAtGsMarker", OdDbEntity.swigMethodTypes154) ? TD_DbPINVOKE.OdDbEntity_subGetSubentPathsAtGsMarkerSwigExplicitOdDbEntity__SWIG_1(this.swigCPtr, (int)type, gsMark, OdGePoint3d.getCPtr(pickPoint), OdGeMatrix3d.getCPtr(xfm), OdDbFullSubentPathArray.getCPtr(subentPaths)) : TD_DbPINVOKE.OdDbEntity_subGetSubentPathsAtGsMarker__SWIG_1(this.swigCPtr, (int)type, gsMark, OdGePoint3d.getCPtr(pickPoint), OdGeMatrix3d.getCPtr(xfm), OdDbFullSubentPathArray.getCPtr(subentPaths)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetGsMarkersAtSubentPath(OdDbFullSubentPath subPath, SWIGTYPE_p_OdGsMarkerArray gsMarkers)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetGsMarkersAtSubentPath", OdDbEntity.swigMethodTypes155) ? TD_DbPINVOKE.OdDbEntity_subGetGsMarkersAtSubentPathSwigExplicitOdDbEntity(this.swigCPtr, OdDbFullSubentPath.getCPtr(subPath), SWIGTYPE_p_OdGsMarkerArray.getCPtr(gsMarkers)) : TD_DbPINVOKE.OdDbEntity_subGetGsMarkersAtSubentPath(this.swigCPtr, OdDbFullSubentPath.getCPtr(subPath), SWIGTYPE_p_OdGsMarkerArray.getCPtr(gsMarkers)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdDbEntity subSubentPtr(OdDbFullSubentPath path)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = this.SwigDerivedClassHasMethod("subSubentPtr", OdDbEntity.swigMethodTypes156) ? TD_DbPINVOKE.OdDbEntity_subSubentPtrSwigExplicitOdDbEntity(this.swigCPtr, OdDbFullSubentPath.getCPtr(path)) : TD_DbPINVOKE.OdDbEntity_subSubentPtr(this.swigCPtr, OdDbFullSubentPath.getCPtr(path));
			OdDbEntity result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subTransformSubentPathsBy(OdDbFullSubentPathArray paths, OdGeMatrix3d xform)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subTransformSubentPathsBy", OdDbEntity.swigMethodTypes157) ? TD_DbPINVOKE.OdDbEntity_subTransformSubentPathsBySwigExplicitOdDbEntity(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths), OdGeMatrix3d.getCPtr(xform)) : TD_DbPINVOKE.OdDbEntity_subTransformSubentPathsBy(this.swigCPtr, OdDbFullSubentPathArray.getCPtr(paths), OdGeMatrix3d.getCPtr(xform)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetSubentClassId(OdDbFullSubentPath path, IntPtr clsId)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetSubentClassId", OdDbEntity.swigMethodTypes158) ? TD_DbPINVOKE.OdDbEntity_subGetSubentClassIdSwigExplicitOdDbEntity(this.swigCPtr, OdDbFullSubentPath.getCPtr(path), clsId) : TD_DbPINVOKE.OdDbEntity_subGetSubentClassId(this.swigCPtr, OdDbFullSubentPath.getCPtr(path), clsId));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual OdResult subGetSubentPathGeomExtents(OdDbFullSubentPath path, OdGeExtents3d extents)
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("subGetSubentPathGeomExtents", OdDbEntity.swigMethodTypes159) ? TD_DbPINVOKE.OdDbEntity_subGetSubentPathGeomExtentsSwigExplicitOdDbEntity(this.swigCPtr, OdDbFullSubentPath.getCPtr(path), OdGeExtents3d.getCPtr(extents)) : TD_DbPINVOKE.OdDbEntity_subGetSubentPathGeomExtents(this.swigCPtr, OdDbFullSubentPath.getCPtr(path), OdGeExtents3d.getCPtr(extents)));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		protected virtual void subSubentGripStatus(GripStat status, OdDbFullSubentPath subentity)
		{
			if (this.SwigDerivedClassHasMethod("subSubentGripStatus", OdDbEntity.swigMethodTypes160))
			{
				TD_DbPINVOKE.OdDbEntity_subSubentGripStatusSwigExplicitOdDbEntity(this.swigCPtr, (int)status, OdDbFullSubentPath.getCPtr(subentity));
			}
			else
			{
				TD_DbPINVOKE.OdDbEntity_subSubentGripStatus(this.swigCPtr, (int)status, OdDbFullSubentPath.getCPtr(subentity));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		private void SwigDirectorConnect()
		{
			if (this.SwigDerivedClassHasMethod("queryX", OdDbEntity.swigMethodTypes0))
			{
				this.swigDelegate0 = new OdDbEntity.SwigDelegateOdDbEntity_0(this.SwigDirectorqueryX);
			}
			if (this.SwigDerivedClassHasMethod("isA", OdDbEntity.swigMethodTypes1))
			{
				this.swigDelegate1 = new OdDbEntity.SwigDelegateOdDbEntity_1(this.SwigDirectorisA);
			}
			if (this.SwigDerivedClassHasMethod("drawableType", OdDbEntity.swigMethodTypes2))
			{
				this.swigDelegate2 = new OdDbEntity.SwigDelegateOdDbEntity_2(this.SwigDirectordrawableType);
			}
			if (this.SwigDerivedClassHasMethod("isPersistent", OdDbEntity.swigMethodTypes3))
			{
				this.swigDelegate3 = new OdDbEntity.SwigDelegateOdDbEntity_3(this.SwigDirectorisPersistent);
			}
			if (this.SwigDerivedClassHasMethod("id", OdDbEntity.swigMethodTypes4))
			{
				this.swigDelegate4 = new OdDbEntity.SwigDelegateOdDbEntity_4(this.SwigDirectorid);
			}
			if (this.SwigDerivedClassHasMethod("setGsNode", OdDbEntity.swigMethodTypes5))
			{
				this.swigDelegate5 = new OdDbEntity.SwigDelegateOdDbEntity_5(this.SwigDirectorsetGsNode);
			}
			if (this.SwigDerivedClassHasMethod("gsNode", OdDbEntity.swigMethodTypes6))
			{
				this.swigDelegate6 = new OdDbEntity.SwigDelegateOdDbEntity_6(this.SwigDirectorgsNode);
			}
			if (this.SwigDerivedClassHasMethod("subSetAttributes", OdDbEntity.swigMethodTypes7))
			{
				this.swigDelegate7 = new OdDbEntity.SwigDelegateOdDbEntity_7(this.SwigDirectorsubSetAttributes);
			}
			if (this.SwigDerivedClassHasMethod("subWorldDraw", OdDbEntity.swigMethodTypes8))
			{
				this.swigDelegate8 = new OdDbEntity.SwigDelegateOdDbEntity_8(this.SwigDirectorsubWorldDraw);
			}
			if (this.SwigDerivedClassHasMethod("subViewportDraw", OdDbEntity.swigMethodTypes9))
			{
				this.swigDelegate9 = new OdDbEntity.SwigDelegateOdDbEntity_9(this.SwigDirectorsubViewportDraw);
			}
			if (this.SwigDerivedClassHasMethod("subViewportDrawLogicalFlags", OdDbEntity.swigMethodTypes10))
			{
				this.swigDelegate10 = new OdDbEntity.SwigDelegateOdDbEntity_10(this.SwigDirectorsubViewportDrawLogicalFlags);
			}
			if (this.SwigDerivedClassHasMethod("subRegenSupportFlags", OdDbEntity.swigMethodTypes11))
			{
				this.swigDelegate11 = new OdDbEntity.SwigDelegateOdDbEntity_11(this.SwigDirectorsubRegenSupportFlags);
			}
			if (this.SwigDerivedClassHasMethod("setOwnerId", OdDbEntity.swigMethodTypes12))
			{
				this.swigDelegate12 = new OdDbEntity.SwigDelegateOdDbEntity_12(this.SwigDirectorsetOwnerId);
			}
			if (this.SwigDerivedClassHasMethod("subOpen", OdDbEntity.swigMethodTypes13))
			{
				this.swigDelegate13 = new OdDbEntity.SwigDelegateOdDbEntity_13(this.SwigDirectorsubOpen);
			}
			if (this.SwigDerivedClassHasMethod("subClose", OdDbEntity.swigMethodTypes14))
			{
				this.swigDelegate14 = new OdDbEntity.SwigDelegateOdDbEntity_14(this.SwigDirectorsubClose);
			}
			if (this.SwigDerivedClassHasMethod("subErase", OdDbEntity.swigMethodTypes15))
			{
				this.swigDelegate15 = new OdDbEntity.SwigDelegateOdDbEntity_15(this.SwigDirectorsubErase);
			}
			if (this.SwigDerivedClassHasMethod("subHandOverTo", OdDbEntity.swigMethodTypes16))
			{
				this.swigDelegate16 = new OdDbEntity.SwigDelegateOdDbEntity_16(this.SwigDirectorsubHandOverTo);
			}
			if (this.SwigDerivedClassHasMethod("subSwapIdWith", OdDbEntity.swigMethodTypes17))
			{
				this.swigDelegate17 = new OdDbEntity.SwigDelegateOdDbEntity_17(this.SwigDirectorsubSwapIdWith__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("subSwapIdWith", OdDbEntity.swigMethodTypes18))
			{
				this.swigDelegate18 = new OdDbEntity.SwigDelegateOdDbEntity_18(this.SwigDirectorsubSwapIdWith__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("subSwapIdWith", OdDbEntity.swigMethodTypes19))
			{
				this.swigDelegate19 = new OdDbEntity.SwigDelegateOdDbEntity_19(this.SwigDirectorsubSwapIdWith__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("audit", OdDbEntity.swigMethodTypes20))
			{
				this.swigDelegate20 = new OdDbEntity.SwigDelegateOdDbEntity_20(this.SwigDirectoraudit);
			}
			if (this.SwigDerivedClassHasMethod("dxfIn", OdDbEntity.swigMethodTypes21))
			{
				this.swigDelegate21 = new OdDbEntity.SwigDelegateOdDbEntity_21(this.SwigDirectordxfIn);
			}
			if (this.SwigDerivedClassHasMethod("dxfOut", OdDbEntity.swigMethodTypes22))
			{
				this.swigDelegate22 = new OdDbEntity.SwigDelegateOdDbEntity_22(this.SwigDirectordxfOut);
			}
			if (this.SwigDerivedClassHasMethod("dwgInFields", OdDbEntity.swigMethodTypes23))
			{
				this.swigDelegate23 = new OdDbEntity.SwigDelegateOdDbEntity_23(this.SwigDirectordwgInFields);
			}
			if (this.SwigDerivedClassHasMethod("dwgOutFields", OdDbEntity.swigMethodTypes24))
			{
				this.swigDelegate24 = new OdDbEntity.SwigDelegateOdDbEntity_24(this.SwigDirectordwgOutFields);
			}
			if (this.SwigDerivedClassHasMethod("dxfInFields", OdDbEntity.swigMethodTypes25))
			{
				this.swigDelegate25 = new OdDbEntity.SwigDelegateOdDbEntity_25(this.SwigDirectordxfInFields);
			}
			if (this.SwigDerivedClassHasMethod("dxfOutFields", OdDbEntity.swigMethodTypes26))
			{
				this.swigDelegate26 = new OdDbEntity.SwigDelegateOdDbEntity_26(this.SwigDirectordxfOutFields);
			}
			if (this.SwigDerivedClassHasMethod("dxfInFields_R12", OdDbEntity.swigMethodTypes27))
			{
				this.swigDelegate27 = new OdDbEntity.SwigDelegateOdDbEntity_27(this.SwigDirectordxfInFields_R12);
			}
			if (this.SwigDerivedClassHasMethod("dxfOutFields_R12", OdDbEntity.swigMethodTypes28))
			{
				this.swigDelegate28 = new OdDbEntity.SwigDelegateOdDbEntity_28(this.SwigDirectordxfOutFields_R12);
			}
			if (this.SwigDerivedClassHasMethod("mergeStyle", OdDbEntity.swigMethodTypes29))
			{
				this.swigDelegate29 = new OdDbEntity.SwigDelegateOdDbEntity_29(this.SwigDirectormergeStyle);
			}
			if (this.SwigDerivedClassHasMethod("xData", OdDbEntity.swigMethodTypes30))
			{
				this.swigDelegate30 = new OdDbEntity.SwigDelegateOdDbEntity_30(this.SwigDirectorxData__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("xData", OdDbEntity.swigMethodTypes31))
			{
				this.swigDelegate31 = new OdDbEntity.SwigDelegateOdDbEntity_31(this.SwigDirectorxData__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setXData", OdDbEntity.swigMethodTypes32))
			{
				this.swigDelegate32 = new OdDbEntity.SwigDelegateOdDbEntity_32(this.SwigDirectorsetXData);
			}
			if (this.SwigDerivedClassHasMethod("applyPartialUndo", OdDbEntity.swigMethodTypes33))
			{
				this.swigDelegate33 = new OdDbEntity.SwigDelegateOdDbEntity_33(this.SwigDirectorapplyPartialUndo);
			}
			if (this.SwigDerivedClassHasMethod("addPersistentReactor", OdDbEntity.swigMethodTypes34))
			{
				this.swigDelegate34 = new OdDbEntity.SwigDelegateOdDbEntity_34(this.SwigDirectoraddPersistentReactor);
			}
			if (this.SwigDerivedClassHasMethod("removePersistentReactor", OdDbEntity.swigMethodTypes35))
			{
				this.swigDelegate35 = new OdDbEntity.SwigDelegateOdDbEntity_35(this.SwigDirectorremovePersistentReactor);
			}
			if (this.SwigDerivedClassHasMethod("recvPropagateModify", OdDbEntity.swigMethodTypes36))
			{
				this.swigDelegate36 = new OdDbEntity.SwigDelegateOdDbEntity_36(this.SwigDirectorrecvPropagateModify);
			}
			if (this.SwigDerivedClassHasMethod("xmitPropagateModify", OdDbEntity.swigMethodTypes37))
			{
				this.swigDelegate37 = new OdDbEntity.SwigDelegateOdDbEntity_37(this.SwigDirectorxmitPropagateModify);
			}
			if (this.SwigDerivedClassHasMethod("appendToOwner", OdDbEntity.swigMethodTypes38))
			{
				this.swigDelegate38 = new OdDbEntity.SwigDelegateOdDbEntity_38(this.SwigDirectorappendToOwner);
			}
			if (this.SwigDerivedClassHasMethod("copied", OdDbEntity.swigMethodTypes39))
			{
				this.swigDelegate39 = new OdDbEntity.SwigDelegateOdDbEntity_39(this.SwigDirectorcopied);
			}
			if (this.SwigDerivedClassHasMethod("erased", OdDbEntity.swigMethodTypes40))
			{
				this.swigDelegate40 = new OdDbEntity.SwigDelegateOdDbEntity_40(this.SwigDirectorerased__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("erased", OdDbEntity.swigMethodTypes41))
			{
				this.swigDelegate41 = new OdDbEntity.SwigDelegateOdDbEntity_41(this.SwigDirectorerased__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("goodbye", OdDbEntity.swigMethodTypes42))
			{
				this.swigDelegate42 = new OdDbEntity.SwigDelegateOdDbEntity_42(this.SwigDirectorgoodbye);
			}
			if (this.SwigDerivedClassHasMethod("openedForModify", OdDbEntity.swigMethodTypes43))
			{
				this.swigDelegate43 = new OdDbEntity.SwigDelegateOdDbEntity_43(this.SwigDirectoropenedForModify);
			}
			if (this.SwigDerivedClassHasMethod("modified", OdDbEntity.swigMethodTypes44))
			{
				this.swigDelegate44 = new OdDbEntity.SwigDelegateOdDbEntity_44(this.SwigDirectormodified);
			}
			if (this.SwigDerivedClassHasMethod("subObjModified", OdDbEntity.swigMethodTypes45))
			{
				this.swigDelegate45 = new OdDbEntity.SwigDelegateOdDbEntity_45(this.SwigDirectorsubObjModified);
			}
			if (this.SwigDerivedClassHasMethod("modifyUndone", OdDbEntity.swigMethodTypes46))
			{
				this.swigDelegate46 = new OdDbEntity.SwigDelegateOdDbEntity_46(this.SwigDirectormodifyUndone);
			}
			if (this.SwigDerivedClassHasMethod("modifiedXData", OdDbEntity.swigMethodTypes47))
			{
				this.swigDelegate47 = new OdDbEntity.SwigDelegateOdDbEntity_47(this.SwigDirectormodifiedXData);
			}
			if (this.SwigDerivedClassHasMethod("unappended", OdDbEntity.swigMethodTypes48))
			{
				this.swigDelegate48 = new OdDbEntity.SwigDelegateOdDbEntity_48(this.SwigDirectorunappended);
			}
			if (this.SwigDerivedClassHasMethod("reappended", OdDbEntity.swigMethodTypes49))
			{
				this.swigDelegate49 = new OdDbEntity.SwigDelegateOdDbEntity_49(this.SwigDirectorreappended);
			}
			if (this.SwigDerivedClassHasMethod("objectClosed", OdDbEntity.swigMethodTypes50))
			{
				this.swigDelegate50 = new OdDbEntity.SwigDelegateOdDbEntity_50(this.SwigDirectorobjectClosed);
			}
			if (this.SwigDerivedClassHasMethod("modifiedGraphics", OdDbEntity.swigMethodTypes51))
			{
				this.swigDelegate51 = new OdDbEntity.SwigDelegateOdDbEntity_51(this.SwigDirectormodifiedGraphics);
			}
			if (this.SwigDerivedClassHasMethod("getObjectSaveVersion", OdDbEntity.swigMethodTypes52))
			{
				this.swigDelegate52 = new OdDbEntity.SwigDelegateOdDbEntity_52(this.SwigDirectorgetObjectSaveVersion__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("getObjectSaveVersion", OdDbEntity.swigMethodTypes53))
			{
				this.swigDelegate53 = new OdDbEntity.SwigDelegateOdDbEntity_53(this.SwigDirectorgetObjectSaveVersion__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("decomposeForSave", OdDbEntity.swigMethodTypes54))
			{
				this.swigDelegate54 = new OdDbEntity.SwigDelegateOdDbEntity_54(this.SwigDirectordecomposeForSave);
			}
			if (this.SwigDerivedClassHasMethod("composeForLoad", OdDbEntity.swigMethodTypes55))
			{
				this.swigDelegate55 = new OdDbEntity.SwigDelegateOdDbEntity_55(this.SwigDirectorcomposeForLoad);
			}
			if (this.SwigDerivedClassHasMethod("drawable", OdDbEntity.swigMethodTypes56))
			{
				this.swigDelegate56 = new OdDbEntity.SwigDelegateOdDbEntity_56(this.SwigDirectordrawable);
			}
			if (this.SwigDerivedClassHasMethod("setField", OdDbEntity.swigMethodTypes57))
			{
				this.swigDelegate57 = new OdDbEntity.SwigDelegateOdDbEntity_57(this.SwigDirectorsetField);
			}
			if (this.SwigDerivedClassHasMethod("removeField", OdDbEntity.swigMethodTypes58))
			{
				this.swigDelegate58 = new OdDbEntity.SwigDelegateOdDbEntity_58(this.SwigDirectorremoveField__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("removeField", OdDbEntity.swigMethodTypes59))
			{
				this.swigDelegate59 = new OdDbEntity.SwigDelegateOdDbEntity_59(this.SwigDirectorremoveField__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("saveAsClass", OdDbEntity.swigMethodTypes60))
			{
				this.swigDelegate60 = new OdDbEntity.SwigDelegateOdDbEntity_60(this.SwigDirectorsaveAsClass);
			}
			if (this.SwigDerivedClassHasMethod("subGetClassID", OdDbEntity.swigMethodTypes61))
			{
				this.swigDelegate61 = new OdDbEntity.SwigDelegateOdDbEntity_61(this.SwigDirectorsubGetClassID);
			}
			if (this.SwigDerivedClassHasMethod("subDeepClone", OdDbEntity.swigMethodTypes62))
			{
				this.swigDelegate62 = new OdDbEntity.SwigDelegateOdDbEntity_62(this.SwigDirectorsubDeepClone);
			}
			if (this.SwigDerivedClassHasMethod("subWblockClone", OdDbEntity.swigMethodTypes63))
			{
				this.swigDelegate63 = new OdDbEntity.SwigDelegateOdDbEntity_63(this.SwigDirectorsubWblockClone);
			}
			if (this.SwigDerivedClassHasMethod("setColor", OdDbEntity.swigMethodTypes64))
			{
				this.swigDelegate64 = new OdDbEntity.SwigDelegateOdDbEntity_64(this.SwigDirectorsetColor__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setColor", OdDbEntity.swigMethodTypes65))
			{
				this.swigDelegate65 = new OdDbEntity.SwigDelegateOdDbEntity_65(this.SwigDirectorsetColor__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("entityColor", OdDbEntity.swigMethodTypes66))
			{
				this.swigDelegate66 = new OdDbEntity.SwigDelegateOdDbEntity_66(this.SwigDirectorentityColor);
			}
			if (this.SwigDerivedClassHasMethod("setColorIndex", OdDbEntity.swigMethodTypes67))
			{
				this.swigDelegate67 = new OdDbEntity.SwigDelegateOdDbEntity_67(this.SwigDirectorsetColorIndex__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setColorIndex", OdDbEntity.swigMethodTypes68))
			{
				this.swigDelegate68 = new OdDbEntity.SwigDelegateOdDbEntity_68(this.SwigDirectorsetColorIndex__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setColorId", OdDbEntity.swigMethodTypes69))
			{
				this.swigDelegate69 = new OdDbEntity.SwigDelegateOdDbEntity_69(this.SwigDirectorsetColorId__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setColorId", OdDbEntity.swigMethodTypes70))
			{
				this.swigDelegate70 = new OdDbEntity.SwigDelegateOdDbEntity_70(this.SwigDirectorsetColorId__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setTransparency", OdDbEntity.swigMethodTypes71))
			{
				this.swigDelegate71 = new OdDbEntity.SwigDelegateOdDbEntity_71(this.SwigDirectorsetTransparency__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setTransparency", OdDbEntity.swigMethodTypes72))
			{
				this.swigDelegate72 = new OdDbEntity.SwigDelegateOdDbEntity_72(this.SwigDirectorsetTransparency__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes73))
			{
				this.swigDelegate73 = new OdDbEntity.SwigDelegateOdDbEntity_73(this.SwigDirectorsetPlotStyleName__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes74))
			{
				this.swigDelegate74 = new OdDbEntity.SwigDelegateOdDbEntity_74(this.SwigDirectorsetPlotStyleName__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes75))
			{
				this.swigDelegate75 = new OdDbEntity.SwigDelegateOdDbEntity_75(this.SwigDirectorsetPlotStyleName__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes76))
			{
				this.swigDelegate76 = new OdDbEntity.SwigDelegateOdDbEntity_76(this.SwigDirectorsetPlotStyleName__SWIG_3);
			}
			if (this.SwigDerivedClassHasMethod("setPlotStyleName", OdDbEntity.swigMethodTypes77))
			{
				this.swigDelegate77 = new OdDbEntity.SwigDelegateOdDbEntity_77(this.SwigDirectorsetPlotStyleName__SWIG_4);
			}
			if (this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes78))
			{
				this.swigDelegate78 = new OdDbEntity.SwigDelegateOdDbEntity_78(this.SwigDirectorsetLayer__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes79))
			{
				this.swigDelegate79 = new OdDbEntity.SwigDelegateOdDbEntity_79(this.SwigDirectorsetLayer__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes80))
			{
				this.swigDelegate80 = new OdDbEntity.SwigDelegateOdDbEntity_80(this.SwigDirectorsetLayer__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes81))
			{
				this.swigDelegate81 = new OdDbEntity.SwigDelegateOdDbEntity_81(this.SwigDirectorsetLayer__SWIG_3);
			}
			if (this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes82))
			{
				this.swigDelegate82 = new OdDbEntity.SwigDelegateOdDbEntity_82(this.SwigDirectorsetLayer__SWIG_4);
			}
			if (this.SwigDerivedClassHasMethod("setLayer", OdDbEntity.swigMethodTypes83))
			{
				this.swigDelegate83 = new OdDbEntity.SwigDelegateOdDbEntity_83(this.SwigDirectorsetLayer__SWIG_5);
			}
			if (this.SwigDerivedClassHasMethod("setLinetype", OdDbEntity.swigMethodTypes84))
			{
				this.swigDelegate84 = new OdDbEntity.SwigDelegateOdDbEntity_84(this.SwigDirectorsetLinetype__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setLinetype", OdDbEntity.swigMethodTypes85))
			{
				this.swigDelegate85 = new OdDbEntity.SwigDelegateOdDbEntity_85(this.SwigDirectorsetLinetype__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setLinetype", OdDbEntity.swigMethodTypes86))
			{
				this.swigDelegate86 = new OdDbEntity.SwigDelegateOdDbEntity_86(this.SwigDirectorsetLinetype__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("setLinetype", OdDbEntity.swigMethodTypes87))
			{
				this.swigDelegate87 = new OdDbEntity.SwigDelegateOdDbEntity_87(this.SwigDirectorsetLinetype__SWIG_3);
			}
			if (this.SwigDerivedClassHasMethod("setMaterial", OdDbEntity.swigMethodTypes88))
			{
				this.swigDelegate88 = new OdDbEntity.SwigDelegateOdDbEntity_88(this.SwigDirectorsetMaterial__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setMaterial", OdDbEntity.swigMethodTypes89))
			{
				this.swigDelegate89 = new OdDbEntity.SwigDelegateOdDbEntity_89(this.SwigDirectorsetMaterial__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setMaterial", OdDbEntity.swigMethodTypes90))
			{
				this.swigDelegate90 = new OdDbEntity.SwigDelegateOdDbEntity_90(this.SwigDirectorsetMaterial__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("setMaterial", OdDbEntity.swigMethodTypes91))
			{
				this.swigDelegate91 = new OdDbEntity.SwigDelegateOdDbEntity_91(this.SwigDirectorsetMaterial__SWIG_3);
			}
			if (this.SwigDerivedClassHasMethod("setVisualStyle", OdDbEntity.swigMethodTypes92))
			{
				this.swigDelegate92 = new OdDbEntity.SwigDelegateOdDbEntity_92(this.SwigDirectorsetVisualStyle__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setVisualStyle", OdDbEntity.swigMethodTypes93))
			{
				this.swigDelegate93 = new OdDbEntity.SwigDelegateOdDbEntity_93(this.SwigDirectorsetVisualStyle__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setVisualStyle", OdDbEntity.swigMethodTypes94))
			{
				this.swigDelegate94 = new OdDbEntity.SwigDelegateOdDbEntity_94(this.SwigDirectorsetVisualStyle__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("materialMapper", OdDbEntity.swigMethodTypes95))
			{
				this.swigDelegate95 = new OdDbEntity.SwigDelegateOdDbEntity_95(this.SwigDirectormaterialMapper);
			}
			if (this.SwigDerivedClassHasMethod("setMaterialMapper", OdDbEntity.swigMethodTypes96))
			{
				this.swigDelegate96 = new OdDbEntity.SwigDelegateOdDbEntity_96(this.SwigDirectorsetMaterialMapper__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setMaterialMapper", OdDbEntity.swigMethodTypes97))
			{
				this.swigDelegate97 = new OdDbEntity.SwigDelegateOdDbEntity_97(this.SwigDirectorsetMaterialMapper__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setLinetypeScale", OdDbEntity.swigMethodTypes98))
			{
				this.swigDelegate98 = new OdDbEntity.SwigDelegateOdDbEntity_98(this.SwigDirectorsetLinetypeScale__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setLinetypeScale", OdDbEntity.swigMethodTypes99))
			{
				this.swigDelegate99 = new OdDbEntity.SwigDelegateOdDbEntity_99(this.SwigDirectorsetLinetypeScale__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setLineWeight", OdDbEntity.swigMethodTypes100))
			{
				this.swigDelegate100 = new OdDbEntity.SwigDelegateOdDbEntity_100(this.SwigDirectorsetLineWeight__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setLineWeight", OdDbEntity.swigMethodTypes101))
			{
				this.swigDelegate101 = new OdDbEntity.SwigDelegateOdDbEntity_101(this.SwigDirectorsetLineWeight__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("castShadows", OdDbEntity.swigMethodTypes102))
			{
				this.swigDelegate102 = new OdDbEntity.SwigDelegateOdDbEntity_102(this.SwigDirectorcastShadows);
			}
			if (this.SwigDerivedClassHasMethod("setCastShadows", OdDbEntity.swigMethodTypes103))
			{
				this.swigDelegate103 = new OdDbEntity.SwigDelegateOdDbEntity_103(this.SwigDirectorsetCastShadows);
			}
			if (this.SwigDerivedClassHasMethod("receiveShadows", OdDbEntity.swigMethodTypes104))
			{
				this.swigDelegate104 = new OdDbEntity.SwigDelegateOdDbEntity_104(this.SwigDirectorreceiveShadows);
			}
			if (this.SwigDerivedClassHasMethod("setReceiveShadows", OdDbEntity.swigMethodTypes105))
			{
				this.swigDelegate105 = new OdDbEntity.SwigDelegateOdDbEntity_105(this.SwigDirectorsetReceiveShadows);
			}
			if (this.SwigDerivedClassHasMethod("collisionType", OdDbEntity.swigMethodTypes106))
			{
				this.swigDelegate106 = new OdDbEntity.SwigDelegateOdDbEntity_106(this.SwigDirectorcollisionType);
			}
			if (this.SwigDerivedClassHasMethod("isPlanar", OdDbEntity.swigMethodTypes107))
			{
				this.swigDelegate107 = new OdDbEntity.SwigDelegateOdDbEntity_107(this.SwigDirectorisPlanar);
			}
			if (this.SwigDerivedClassHasMethod("getPlane", OdDbEntity.swigMethodTypes108))
			{
				this.swigDelegate108 = new OdDbEntity.SwigDelegateOdDbEntity_108(this.SwigDirectorgetPlane);
			}
			if (this.SwigDerivedClassHasMethod("explodeToBlock", OdDbEntity.swigMethodTypes109))
			{
				this.swigDelegate109 = new OdDbEntity.SwigDelegateOdDbEntity_109(this.SwigDirectorexplodeToBlock__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("explodeToBlock", OdDbEntity.swigMethodTypes110))
			{
				this.swigDelegate110 = new OdDbEntity.SwigDelegateOdDbEntity_110(this.SwigDirectorexplodeToBlock__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("explodeGeometry", OdDbEntity.swigMethodTypes111))
			{
				this.swigDelegate111 = new OdDbEntity.SwigDelegateOdDbEntity_111(this.SwigDirectorexplodeGeometry);
			}
			if (this.SwigDerivedClassHasMethod("explodeGeometryToBlock", OdDbEntity.swigMethodTypes112))
			{
				this.swigDelegate112 = new OdDbEntity.SwigDelegateOdDbEntity_112(this.SwigDirectorexplodeGeometryToBlock__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("explodeGeometryToBlock", OdDbEntity.swigMethodTypes113))
			{
				this.swigDelegate113 = new OdDbEntity.SwigDelegateOdDbEntity_113(this.SwigDirectorexplodeGeometryToBlock__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("subSetDatabaseDefaults", OdDbEntity.swigMethodTypes114))
			{
				this.swigDelegate114 = new OdDbEntity.SwigDelegateOdDbEntity_114(this.SwigDirectorsubSetDatabaseDefaults);
			}
			if (this.SwigDerivedClassHasMethod("subList", OdDbEntity.swigMethodTypes115))
			{
				this.swigDelegate115 = new OdDbEntity.SwigDelegateOdDbEntity_115(this.SwigDirectorsubList);
			}
			if (this.SwigDerivedClassHasMethod("dragStatus", OdDbEntity.swigMethodTypes116))
			{
				this.swigDelegate116 = new OdDbEntity.SwigDelegateOdDbEntity_116(this.SwigDirectordragStatus);
			}
			if (this.SwigDerivedClassHasMethod("saveAs", OdDbEntity.swigMethodTypes117))
			{
				this.swigDelegate117 = new OdDbEntity.SwigDelegateOdDbEntity_117(this.SwigDirectorsaveAs);
			}
			if (this.SwigDerivedClassHasMethod("getEcs", OdDbEntity.swigMethodTypes118))
			{
				this.swigDelegate118 = new OdDbEntity.SwigDelegateOdDbEntity_118(this.SwigDirectorgetEcs);
			}
			if (this.SwigDerivedClassHasMethod("subTransformBy", OdDbEntity.swigMethodTypes119))
			{
				this.swigDelegate119 = new OdDbEntity.SwigDelegateOdDbEntity_119(this.SwigDirectorsubTransformBy);
			}
			if (this.SwigDerivedClassHasMethod("subGetTransformedCopy", OdDbEntity.swigMethodTypes120))
			{
				this.swigDelegate120 = new OdDbEntity.SwigDelegateOdDbEntity_120(this.SwigDirectorsubGetTransformedCopy);
			}
			if (this.SwigDerivedClassHasMethod("subExplode", OdDbEntity.swigMethodTypes121))
			{
				this.swigDelegate121 = new OdDbEntity.SwigDelegateOdDbEntity_121(this.SwigDirectorsubExplode);
			}
			if (this.SwigDerivedClassHasMethod("subGetCompoundObjectTransform", OdDbEntity.swigMethodTypes122))
			{
				this.swigDelegate122 = new OdDbEntity.SwigDelegateOdDbEntity_122(this.SwigDirectorsubGetCompoundObjectTransform);
			}
			if (this.SwigDerivedClassHasMethod("subCloneMeForDragging", OdDbEntity.swigMethodTypes123))
			{
				this.swigDelegate123 = new OdDbEntity.SwigDelegateOdDbEntity_123(this.SwigDirectorsubCloneMeForDragging);
			}
			if (this.SwigDerivedClassHasMethod("subHideMeForDragging", OdDbEntity.swigMethodTypes124))
			{
				this.swigDelegate124 = new OdDbEntity.SwigDelegateOdDbEntity_124(this.SwigDirectorsubHideMeForDragging);
			}
			if (this.SwigDerivedClassHasMethod("subGripStatus", OdDbEntity.swigMethodTypes125))
			{
				this.swigDelegate125 = new OdDbEntity.SwigDelegateOdDbEntity_125(this.SwigDirectorsubGripStatus);
			}
			if (this.SwigDerivedClassHasMethod("subGetOsnapPoints", OdDbEntity.swigMethodTypes126))
			{
				this.swigDelegate126 = new OdDbEntity.SwigDelegateOdDbEntity_126(this.SwigDirectorsubGetOsnapPoints__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("subGetOsnapPoints", OdDbEntity.swigMethodTypes127))
			{
				this.swigDelegate127 = new OdDbEntity.SwigDelegateOdDbEntity_127(this.SwigDirectorsubGetOsnapPoints__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("subIsContentSnappable", OdDbEntity.swigMethodTypes128))
			{
				this.swigDelegate128 = new OdDbEntity.SwigDelegateOdDbEntity_128(this.SwigDirectorsubIsContentSnappable);
			}
			if (this.SwigDerivedClassHasMethod("subGetGripPoints", OdDbEntity.swigMethodTypes129))
			{
				this.swigDelegate129 = new OdDbEntity.SwigDelegateOdDbEntity_129(this.SwigDirectorsubGetGripPoints__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("subMoveGripPointsAt", OdDbEntity.swigMethodTypes130))
			{
				this.swigDelegate130 = new OdDbEntity.SwigDelegateOdDbEntity_130(this.SwigDirectorsubMoveGripPointsAt__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("subGetGripPoints", OdDbEntity.swigMethodTypes131))
			{
				this.swigDelegate131 = new OdDbEntity.SwigDelegateOdDbEntity_131(this.SwigDirectorsubGetGripPoints__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("subMoveGripPointsAt", OdDbEntity.swigMethodTypes132))
			{
				this.swigDelegate132 = new OdDbEntity.SwigDelegateOdDbEntity_132(this.SwigDirectorsubMoveGripPointsAt__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("subGetStretchPoints", OdDbEntity.swigMethodTypes133))
			{
				this.swigDelegate133 = new OdDbEntity.SwigDelegateOdDbEntity_133(this.SwigDirectorsubGetStretchPoints);
			}
			if (this.SwigDerivedClassHasMethod("subMoveStretchPointsAt", OdDbEntity.swigMethodTypes134))
			{
				this.swigDelegate134 = new OdDbEntity.SwigDelegateOdDbEntity_134(this.SwigDirectorsubMoveStretchPointsAt);
			}
			if (this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes135))
			{
				this.swigDelegate135 = new OdDbEntity.SwigDelegateOdDbEntity_135(this.SwigDirectorsubIntersectWith__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes136))
			{
				this.swigDelegate136 = new OdDbEntity.SwigDelegateOdDbEntity_136(this.SwigDirectorsubIntersectWith__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes137))
			{
				this.swigDelegate137 = new OdDbEntity.SwigDelegateOdDbEntity_137(this.SwigDirectorsubIntersectWith__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes138))
			{
				this.swigDelegate138 = new OdDbEntity.SwigDelegateOdDbEntity_138(this.SwigDirectorsubIntersectWith__SWIG_3);
			}
			if (this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes139))
			{
				this.swigDelegate139 = new OdDbEntity.SwigDelegateOdDbEntity_139(this.SwigDirectorsubIntersectWith__SWIG_4);
			}
			if (this.SwigDerivedClassHasMethod("subIntersectWith", OdDbEntity.swigMethodTypes140))
			{
				this.swigDelegate140 = new OdDbEntity.SwigDelegateOdDbEntity_140(this.SwigDirectorsubIntersectWith__SWIG_5);
			}
			if (this.SwigDerivedClassHasMethod("subHighlight", OdDbEntity.swigMethodTypes141))
			{
				this.swigDelegate141 = new OdDbEntity.SwigDelegateOdDbEntity_141(this.SwigDirectorsubHighlight__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("subHighlight", OdDbEntity.swigMethodTypes142))
			{
				this.swigDelegate142 = new OdDbEntity.SwigDelegateOdDbEntity_142(this.SwigDirectorsubHighlight__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("subHighlight", OdDbEntity.swigMethodTypes143))
			{
				this.swigDelegate143 = new OdDbEntity.SwigDelegateOdDbEntity_143(this.SwigDirectorsubHighlight__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("subHighlight", OdDbEntity.swigMethodTypes144))
			{
				this.swigDelegate144 = new OdDbEntity.SwigDelegateOdDbEntity_144(this.SwigDirectorsubHighlight__SWIG_3);
			}
			if (this.SwigDerivedClassHasMethod("subVisibility", OdDbEntity.swigMethodTypes145))
			{
				this.swigDelegate145 = new OdDbEntity.SwigDelegateOdDbEntity_145(this.SwigDirectorsubVisibility);
			}
			if (this.SwigDerivedClassHasMethod("subSetVisibility", OdDbEntity.swigMethodTypes146))
			{
				this.swigDelegate146 = new OdDbEntity.SwigDelegateOdDbEntity_146(this.SwigDirectorsubSetVisibility__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("subSetVisibility", OdDbEntity.swigMethodTypes147))
			{
				this.swigDelegate147 = new OdDbEntity.SwigDelegateOdDbEntity_147(this.SwigDirectorsubSetVisibility__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("subGetGeomExtents", OdDbEntity.swigMethodTypes148))
			{
				this.swigDelegate148 = new OdDbEntity.SwigDelegateOdDbEntity_148(this.SwigDirectorsubGetGeomExtents);
			}
			if (this.SwigDerivedClassHasMethod("subDeleteSubentPaths", OdDbEntity.swigMethodTypes149))
			{
				this.swigDelegate149 = new OdDbEntity.SwigDelegateOdDbEntity_149(this.SwigDirectorsubDeleteSubentPaths);
			}
			if (this.SwigDerivedClassHasMethod("subAddSubentPaths", OdDbEntity.swigMethodTypes150))
			{
				this.swigDelegate150 = new OdDbEntity.SwigDelegateOdDbEntity_150(this.SwigDirectorsubAddSubentPaths);
			}
			if (this.SwigDerivedClassHasMethod("subMoveGripPointsAtSubentPaths", OdDbEntity.swigMethodTypes151))
			{
				this.swigDelegate151 = new OdDbEntity.SwigDelegateOdDbEntity_151(this.SwigDirectorsubMoveGripPointsAtSubentPaths);
			}
			if (this.SwigDerivedClassHasMethod("subGetGripPointsAtSubentPath", OdDbEntity.swigMethodTypes152))
			{
				this.swigDelegate152 = new OdDbEntity.SwigDelegateOdDbEntity_152(this.SwigDirectorsubGetGripPointsAtSubentPath);
			}
			if (this.SwigDerivedClassHasMethod("subGetSubentPathsAtGsMarker", OdDbEntity.swigMethodTypes153))
			{
				this.swigDelegate153 = new OdDbEntity.SwigDelegateOdDbEntity_153(this.SwigDirectorsubGetSubentPathsAtGsMarker__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("subGetSubentPathsAtGsMarker", OdDbEntity.swigMethodTypes154))
			{
				this.swigDelegate154 = new OdDbEntity.SwigDelegateOdDbEntity_154(this.SwigDirectorsubGetSubentPathsAtGsMarker__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("subGetGsMarkersAtSubentPath", OdDbEntity.swigMethodTypes155))
			{
				this.swigDelegate155 = new OdDbEntity.SwigDelegateOdDbEntity_155(this.SwigDirectorsubGetGsMarkersAtSubentPath);
			}
			if (this.SwigDerivedClassHasMethod("subSubentPtr", OdDbEntity.swigMethodTypes156))
			{
				this.swigDelegate156 = new OdDbEntity.SwigDelegateOdDbEntity_156(this.SwigDirectorsubSubentPtr);
			}
			if (this.SwigDerivedClassHasMethod("subTransformSubentPathsBy", OdDbEntity.swigMethodTypes157))
			{
				this.swigDelegate157 = new OdDbEntity.SwigDelegateOdDbEntity_157(this.SwigDirectorsubTransformSubentPathsBy);
			}
			if (this.SwigDerivedClassHasMethod("subGetSubentClassId", OdDbEntity.swigMethodTypes158))
			{
				this.swigDelegate158 = new OdDbEntity.SwigDelegateOdDbEntity_158(this.SwigDirectorsubGetSubentClassId);
			}
			if (this.SwigDerivedClassHasMethod("subGetSubentPathGeomExtents", OdDbEntity.swigMethodTypes159))
			{
				this.swigDelegate159 = new OdDbEntity.SwigDelegateOdDbEntity_159(this.SwigDirectorsubGetSubentPathGeomExtents);
			}
			if (this.SwigDerivedClassHasMethod("subSubentGripStatus", OdDbEntity.swigMethodTypes160))
			{
				this.swigDelegate160 = new OdDbEntity.SwigDelegateOdDbEntity_160(this.SwigDirectorsubSubentGripStatus);
			}
			TD_DbPINVOKE.OdDbEntity_director_connect(this.swigCPtr, this.swigDelegate0, this.swigDelegate1, this.swigDelegate2, this.swigDelegate3, this.swigDelegate4, this.swigDelegate5, this.swigDelegate6, this.swigDelegate7, this.swigDelegate8, this.swigDelegate9, this.swigDelegate10, this.swigDelegate11, this.swigDelegate12, this.swigDelegate13, this.swigDelegate14, this.swigDelegate15, this.swigDelegate16, this.swigDelegate17, this.swigDelegate18, this.swigDelegate19, this.swigDelegate20, this.swigDelegate21, this.swigDelegate22, this.swigDelegate23, this.swigDelegate24, this.swigDelegate25, this.swigDelegate26, this.swigDelegate27, this.swigDelegate28, this.swigDelegate29, this.swigDelegate30, this.swigDelegate31, this.swigDelegate32, this.swigDelegate33, this.swigDelegate34, this.swigDelegate35, this.swigDelegate36, this.swigDelegate37, this.swigDelegate38, this.swigDelegate39, this.swigDelegate40, this.swigDelegate41, this.swigDelegate42, this.swigDelegate43, this.swigDelegate44, this.swigDelegate45, this.swigDelegate46, this.swigDelegate47, this.swigDelegate48, this.swigDelegate49, this.swigDelegate50, this.swigDelegate51, this.swigDelegate52, this.swigDelegate53, this.swigDelegate54, this.swigDelegate55, this.swigDelegate56, this.swigDelegate57, this.swigDelegate58, this.swigDelegate59, this.swigDelegate60, this.swigDelegate61, this.swigDelegate62, this.swigDelegate63, this.swigDelegate64, this.swigDelegate65, this.swigDelegate66, this.swigDelegate67, this.swigDelegate68, this.swigDelegate69, this.swigDelegate70, this.swigDelegate71, this.swigDelegate72, this.swigDelegate73, this.swigDelegate74, this.swigDelegate75, this.swigDelegate76, this.swigDelegate77, this.swigDelegate78, this.swigDelegate79, this.swigDelegate80, this.swigDelegate81, this.swigDelegate82, this.swigDelegate83, this.swigDelegate84, this.swigDelegate85, this.swigDelegate86, this.swigDelegate87, this.swigDelegate88, this.swigDelegate89, this.swigDelegate90, this.swigDelegate91, this.swigDelegate92, this.swigDelegate93, this.swigDelegate94, this.swigDelegate95, this.swigDelegate96, this.swigDelegate97, this.swigDelegate98, this.swigDelegate99, this.swigDelegate100, this.swigDelegate101, this.swigDelegate102, this.swigDelegate103, this.swigDelegate104, this.swigDelegate105, this.swigDelegate106, this.swigDelegate107, this.swigDelegate108, this.swigDelegate109, this.swigDelegate110, this.swigDelegate111, this.swigDelegate112, this.swigDelegate113, this.swigDelegate114, this.swigDelegate115, this.swigDelegate116, this.swigDelegate117, this.swigDelegate118, this.swigDelegate119, this.swigDelegate120, this.swigDelegate121, this.swigDelegate122, this.swigDelegate123, this.swigDelegate124, this.swigDelegate125, this.swigDelegate126, this.swigDelegate127, this.swigDelegate128, this.swigDelegate129, this.swigDelegate130, this.swigDelegate131, this.swigDelegate132, this.swigDelegate133, this.swigDelegate134, this.swigDelegate135, this.swigDelegate136, this.swigDelegate137, this.swigDelegate138, this.swigDelegate139, this.swigDelegate140, this.swigDelegate141, this.swigDelegate142, this.swigDelegate143, this.swigDelegate144, this.swigDelegate145, this.swigDelegate146, this.swigDelegate147, this.swigDelegate148, this.swigDelegate149, this.swigDelegate150, this.swigDelegate151, this.swigDelegate152, this.swigDelegate153, this.swigDelegate154, this.swigDelegate155, this.swigDelegate156, this.swigDelegate157, this.swigDelegate158, this.swigDelegate159, this.swigDelegate160);
		}

		private bool SwigDerivedClassHasMethod(string methodName, Type[] methodTypes)
		{
			MethodInfo method = base.GetType().GetMethod(methodName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, methodTypes, null);
			return method.DeclaringType.IsSubclassOf(typeof(OdDbEntity));
		}

		private IntPtr SwigDirectorqueryX(IntPtr protocolClass)
		{
			return OdRxObject.getCPtr(this.queryX((OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(protocolClass, false))).Handle;
		}

		private IntPtr SwigDirectorisA()
		{
			return OdRxClass.getCPtr(this.isA()).Handle;
		}

		private int SwigDirectordrawableType()
		{
			return (int)this.drawableType();
		}

		private bool SwigDirectorisPersistent()
		{
			return this.isPersistent();
		}

		private IntPtr SwigDirectorid()
		{
			return OdDbStub.getCPtr(this.id()).Handle;
		}

		private void SwigDirectorsetGsNode(IntPtr pNode)
		{
			this.setGsNode(new OdGsCache(pNode, false));
		}

		private IntPtr SwigDirectorgsNode()
		{
			return OdGsCache.getCPtr(this.gsNode()).Handle;
		}

		private uint SwigDirectorsubSetAttributes(IntPtr pTraits)
		{
			return this.subSetAttributes(new OdGiDrawableTraits(pTraits, false));
		}

		private bool SwigDirectorsubWorldDraw(IntPtr pWd)
		{
			return this.subWorldDraw(new OdGiWorldDraw_Internal(pWd, false));
		}

		private void SwigDirectorsubViewportDraw(IntPtr pVd)
		{
			this.subViewportDraw(new OdGiViewportDraw_Internal(pVd, false));
		}

		private uint SwigDirectorsubViewportDrawLogicalFlags(IntPtr vd)
		{
			return this.subViewportDrawLogicalFlags(new OdGiViewportDraw_Internal(vd, false));
		}

		private uint SwigDirectorsubRegenSupportFlags()
		{
			return this.subRegenSupportFlags();
		}

		private void SwigDirectorsetOwnerId(IntPtr ownerId)
		{
			this.setOwnerId(new OdDbObjectId(ownerId, false));
		}

		private int SwigDirectorsubOpen(int mode)
		{
			return (int)this.subOpen((OpenMode)mode);
		}

		private void SwigDirectorsubClose()
		{
			this.subClose();
		}

		private int SwigDirectorsubErase(bool erasing)
		{
			return (int)this.subErase(erasing);
		}

		private void SwigDirectorsubHandOverTo(IntPtr pNewObject)
		{
			this.subHandOverTo((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pNewObject, false));
		}

		private void SwigDirectorsubSwapIdWith__SWIG_0(IntPtr otherId, bool swapXdata, bool swapExtDict)
		{
			this.subSwapIdWith(new OdDbObjectId(otherId, false), swapXdata, swapExtDict);
		}

		private void SwigDirectorsubSwapIdWith__SWIG_1(IntPtr otherId, bool swapXdata)
		{
			this.subSwapIdWith(new OdDbObjectId(otherId, false), swapXdata);
		}

		private void SwigDirectorsubSwapIdWith__SWIG_2(IntPtr otherId)
		{
			this.subSwapIdWith(new OdDbObjectId(otherId, false));
		}

		private void SwigDirectoraudit(IntPtr pAuditInfo)
		{
			this.audit((pAuditInfo == IntPtr.Zero) ? null : new OdDbAuditInfo(pAuditInfo, false));
		}

		private int SwigDirectordxfIn(IntPtr pFiler)
		{
			return (int)this.dxfIn((OdDbDxfFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false));
		}

		private void SwigDirectordxfOut(IntPtr pFiler)
		{
			this.dxfOut((OdDbDxfFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false));
		}

		private int SwigDirectordwgInFields(IntPtr pFiler)
		{
			return (int)this.dwgInFields((OdDbDwgFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false));
		}

		private void SwigDirectordwgOutFields(IntPtr pFiler)
		{
			this.dwgOutFields((OdDbDwgFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false));
		}

		private int SwigDirectordxfInFields(IntPtr pFiler)
		{
			return (int)this.dxfInFields((OdDbDxfFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false));
		}

		private void SwigDirectordxfOutFields(IntPtr pFiler)
		{
			this.dxfOutFields((OdDbDxfFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false));
		}

		private int SwigDirectordxfInFields_R12(IntPtr pFiler)
		{
			return (int)this.dxfInFields_R12((OdDbDxfFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false));
		}

		private void SwigDirectordxfOutFields_R12(IntPtr pFiler)
		{
			this.dxfOutFields_R12((OdDbDxfFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false));
		}

		private int SwigDirectormergeStyle()
		{
			return (int)this.mergeStyle();
		}

		private IntPtr SwigDirectorxData__SWIG_0([MarshalAs(UnmanagedType.LPWStr)] string regappName)
		{
			return OdResBuf.getCPtr(this.xData(regappName)).Handle;
		}

		private IntPtr SwigDirectorxData__SWIG_1()
		{
			return OdResBuf.getCPtr(this.xData()).Handle;
		}

		private void SwigDirectorsetXData(IntPtr pRb)
		{
			this.setXData((OdResBuf)Teigha.Core.Helpers.odrxCreateObjectInternal(pRb, false));
		}

		private void SwigDirectorapplyPartialUndo(IntPtr pUndoFiler, IntPtr pClassObj)
		{
			this.applyPartialUndo((OdDbDwgFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pUndoFiler, false), (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(pClassObj, false));
		}

		private void SwigDirectoraddPersistentReactor(IntPtr objId)
		{
			this.addPersistentReactor(new OdDbObjectId(objId, false));
		}

		private void SwigDirectorremovePersistentReactor(IntPtr objId)
		{
			this.removePersistentReactor(new OdDbObjectId(objId, false));
		}

		private void SwigDirectorrecvPropagateModify(IntPtr pSubObj)
		{
			this.recvPropagateModify((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pSubObj, false));
		}

		private void SwigDirectorxmitPropagateModify()
		{
			this.xmitPropagateModify();
		}

		private void SwigDirectorappendToOwner(IntPtr idPair, IntPtr pOwnerObject, IntPtr ownerIdMap)
		{
			this.appendToOwner(new OdDbIdPair(idPair, false), (OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pOwnerObject, false), (OdDbIdMapping)Teigha.Core.Helpers.odrxCreateObjectInternal(ownerIdMap, false));
		}

		private void SwigDirectorcopied(IntPtr pObject, IntPtr pNewObject)
		{
			this.copied((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false), (OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pNewObject, false));
		}

		private void SwigDirectorerased__SWIG_0(IntPtr pObject, bool erasing)
		{
			this.erased((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false), erasing);
		}

		private void SwigDirectorerased__SWIG_1(IntPtr pObject)
		{
			this.erased((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false));
		}

		private void SwigDirectorgoodbye(IntPtr pObject)
		{
			this.goodbye((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false));
		}

		private void SwigDirectoropenedForModify(IntPtr pObject)
		{
			this.openedForModify((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false));
		}

		private void SwigDirectormodified(IntPtr pObject)
		{
			this.modified((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false));
		}

		private void SwigDirectorsubObjModified(IntPtr pObject, IntPtr pSubObj)
		{
			this.subObjModified((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false), (OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pSubObj, false));
		}

		private void SwigDirectormodifyUndone(IntPtr pObject)
		{
			this.modifyUndone((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false));
		}

		private void SwigDirectormodifiedXData(IntPtr pObject)
		{
			this.modifiedXData((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false));
		}

		private void SwigDirectorunappended(IntPtr pObject)
		{
			this.unappended((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false));
		}

		private void SwigDirectorreappended(IntPtr pObject)
		{
			this.reappended((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false));
		}

		private void SwigDirectorobjectClosed(IntPtr objectId)
		{
			this.objectClosed(new OdDbObjectId(objectId, false));
		}

		private void SwigDirectormodifiedGraphics(IntPtr pObject)
		{
			this.modifiedGraphics((OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(pObject, false));
		}

		private int SwigDirectorgetObjectSaveVersion__SWIG_0(IntPtr pFiler, MaintReleaseVer pMaintVer)
		{
			return (int)this.getObjectSaveVersion((OdDbFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false), out pMaintVer);
		}

		private int SwigDirectorgetObjectSaveVersion__SWIG_1(IntPtr pFiler)
		{
			return (int)this.getObjectSaveVersion((OdDbFiler)Teigha.Core.Helpers.odrxCreateObjectInternal(pFiler, false));
		}

		private IntPtr SwigDirectordecomposeForSave(int ver, IntPtr replaceId, bool exchangeXData)
		{
			return OdDbObject.getCPtr(this.decomposeForSave((DwgVersion)ver, new OdDbObjectId(replaceId, false), out exchangeXData)).Handle;
		}

		private void SwigDirectorcomposeForLoad(int format, int version, IntPtr pAuditInfo)
		{
			this.composeForLoad((SaveType)format, (DwgVersion)version, (pAuditInfo == IntPtr.Zero) ? null : new OdDbAuditInfo(pAuditInfo, false));
		}

		private IntPtr SwigDirectordrawable()
		{
			return OdGiDrawable.getCPtr(this.drawable()).Handle;
		}

		private IntPtr SwigDirectorsetField([MarshalAs(UnmanagedType.LPWStr)] string fieldName, IntPtr pField)
		{
			return OdDbObjectId.getCPtr(this.setField(fieldName, (OdDbField)Teigha.Core.Helpers.odrxCreateObjectInternal(pField, false))).Handle;
		}

		private int SwigDirectorremoveField__SWIG_0(IntPtr fieldId)
		{
			return (int)this.removeField(new OdDbObjectId(fieldId, false));
		}

		private IntPtr SwigDirectorremoveField__SWIG_1([MarshalAs(UnmanagedType.LPWStr)] string fieldName)
		{
			return OdDbObjectId.getCPtr(this.removeField(fieldName)).Handle;
		}

		private IntPtr SwigDirectorsaveAsClass(IntPtr pClass)
		{
			return OdRxClass.getCPtr(this.saveAsClass((OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(pClass, false))).Handle;
		}

		private int SwigDirectorsubGetClassID(IntPtr pClsid)
		{
			return (int)this.subGetClassID(pClsid);
		}

		private IntPtr SwigDirectorsubDeepClone(IntPtr ownerIdMap, IntPtr arg1)
		{
			return OdDbObject.getCPtr(this.subDeepClone((OdDbIdMapping)Teigha.Core.Helpers.odrxCreateObjectInternal(ownerIdMap, false), (OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(arg1, false))).Handle;
		}

		private IntPtr SwigDirectorsubWblockClone(IntPtr ownerIdMap, IntPtr arg1)
		{
			return OdDbObject.getCPtr(this.subWblockClone((OdDbIdMapping)Teigha.Core.Helpers.odrxCreateObjectInternal(ownerIdMap, false), (OdDbObject)Teigha.Core.Helpers.odrxCreateObjectInternal(arg1, false))).Handle;
		}

		private int SwigDirectorsetColor__SWIG_0(IntPtr color, bool doSubents)
		{
			return (int)this.setColor(new OdCmColor(color, false), doSubents);
		}

		private int SwigDirectorsetColor__SWIG_1(IntPtr color)
		{
			return (int)this.setColor(new OdCmColor(color, false));
		}

		private IntPtr SwigDirectorentityColor()
		{
			return OdCmEntityColor.getCPtr(this.entityColor()).Handle;
		}

		private int SwigDirectorsetColorIndex__SWIG_0(ushort colorIndex, bool doSubents)
		{
			return (int)this.setColorIndex(colorIndex, doSubents);
		}

		private int SwigDirectorsetColorIndex__SWIG_1(ushort colorIndex)
		{
			return (int)this.setColorIndex(colorIndex);
		}

		private int SwigDirectorsetColorId__SWIG_0(IntPtr colorId, bool doSubents)
		{
			return (int)this.setColorId(new OdDbObjectId(colorId, false), doSubents);
		}

		private int SwigDirectorsetColorId__SWIG_1(IntPtr colorId)
		{
			return (int)this.setColorId(new OdDbObjectId(colorId, false));
		}

		private int SwigDirectorsetTransparency__SWIG_0(IntPtr transparency, bool doSubents)
		{
			return (int)this.setTransparency(new OdCmTransparency(transparency, false), doSubents);
		}

		private int SwigDirectorsetTransparency__SWIG_1(IntPtr transparency)
		{
			return (int)this.setTransparency(new OdCmTransparency(transparency, false));
		}

		private int SwigDirectorsetPlotStyleName__SWIG_0([MarshalAs(UnmanagedType.LPWStr)] string plotStyleName, bool doSubents)
		{
			return (int)this.setPlotStyleName(plotStyleName, doSubents);
		}

		private int SwigDirectorsetPlotStyleName__SWIG_1([MarshalAs(UnmanagedType.LPWStr)] string plotStyleName)
		{
			return (int)this.setPlotStyleName(plotStyleName);
		}

		private int SwigDirectorsetPlotStyleName__SWIG_2(int plotStyleNameType, IntPtr plotStyleNameId, bool doSubents)
		{
			return (int)this.setPlotStyleName((PlotStyleNameType)plotStyleNameType, new OdDbObjectId(plotStyleNameId, false), doSubents);
		}

		private int SwigDirectorsetPlotStyleName__SWIG_3(int plotStyleNameType, IntPtr plotStyleNameId)
		{
			return (int)this.setPlotStyleName((PlotStyleNameType)plotStyleNameType, new OdDbObjectId(plotStyleNameId, false));
		}

		private int SwigDirectorsetPlotStyleName__SWIG_4(int plotStyleNameType)
		{
			return (int)this.setPlotStyleName((PlotStyleNameType)plotStyleNameType);
		}

		private int SwigDirectorsetLayer__SWIG_0([MarshalAs(UnmanagedType.LPWStr)] string layerName, bool doSubents, bool allowHiddenLayer)
		{
			return (int)this.setLayer(layerName, doSubents, allowHiddenLayer);
		}

		private int SwigDirectorsetLayer__SWIG_1([MarshalAs(UnmanagedType.LPWStr)] string layerName, bool doSubents)
		{
			return (int)this.setLayer(layerName, doSubents);
		}

		private int SwigDirectorsetLayer__SWIG_2([MarshalAs(UnmanagedType.LPWStr)] string layerName)
		{
			return (int)this.setLayer(layerName);
		}

		private int SwigDirectorsetLayer__SWIG_3(IntPtr layerId, bool doSubents, bool allowHiddenLayer)
		{
			return (int)this.setLayer(new OdDbObjectId(layerId, false), doSubents, allowHiddenLayer);
		}

		private int SwigDirectorsetLayer__SWIG_4(IntPtr layerId, bool doSubents)
		{
			return (int)this.setLayer(new OdDbObjectId(layerId, false), doSubents);
		}

		private int SwigDirectorsetLayer__SWIG_5(IntPtr layerId)
		{
			return (int)this.setLayer(new OdDbObjectId(layerId, false));
		}

		private int SwigDirectorsetLinetype__SWIG_0([MarshalAs(UnmanagedType.LPWStr)] string linetypeName, bool doSubents)
		{
			return (int)this.setLinetype(linetypeName, doSubents);
		}

		private int SwigDirectorsetLinetype__SWIG_1([MarshalAs(UnmanagedType.LPWStr)] string linetypeName)
		{
			return (int)this.setLinetype(linetypeName);
		}

		private int SwigDirectorsetLinetype__SWIG_2(IntPtr linetypeID, bool doSubents)
		{
			return (int)this.setLinetype(new OdDbObjectId(linetypeID, false), doSubents);
		}

		private int SwigDirectorsetLinetype__SWIG_3(IntPtr linetypeID)
		{
			return (int)this.setLinetype(new OdDbObjectId(linetypeID, false));
		}

		private int SwigDirectorsetMaterial__SWIG_0([MarshalAs(UnmanagedType.LPWStr)] string materialName, bool doSubents)
		{
			return (int)this.setMaterial(materialName, doSubents);
		}

		private int SwigDirectorsetMaterial__SWIG_1([MarshalAs(UnmanagedType.LPWStr)] string materialName)
		{
			return (int)this.setMaterial(materialName);
		}

		private int SwigDirectorsetMaterial__SWIG_2(IntPtr materialID, bool doSubents)
		{
			return (int)this.setMaterial(new OdDbObjectId(materialID, false), doSubents);
		}

		private int SwigDirectorsetMaterial__SWIG_3(IntPtr materialID)
		{
			return (int)this.setMaterial(new OdDbObjectId(materialID, false));
		}

		private int SwigDirectorsetVisualStyle__SWIG_0(IntPtr visualStyleId, int vstype, bool doSubents)
		{
			return (int)this.setVisualStyle(new OdDbObjectId(visualStyleId, false), (OdDbEntity.VisualStyleType)vstype, doSubents);
		}

		private int SwigDirectorsetVisualStyle__SWIG_1(IntPtr visualStyleId, int vstype)
		{
			return (int)this.setVisualStyle(new OdDbObjectId(visualStyleId, false), (OdDbEntity.VisualStyleType)vstype);
		}

		private int SwigDirectorsetVisualStyle__SWIG_2(IntPtr visualStyleId)
		{
			return (int)this.setVisualStyle(new OdDbObjectId(visualStyleId, false));
		}

		private IntPtr SwigDirectormaterialMapper()
		{
			return OdGiMapper.getCPtr(this.materialMapper()).Handle;
		}

		private void SwigDirectorsetMaterialMapper__SWIG_0(IntPtr mapper, bool doSubents)
		{
			this.setMaterialMapper((mapper == IntPtr.Zero) ? null : new OdGiMapper(mapper, false), doSubents);
		}

		private void SwigDirectorsetMaterialMapper__SWIG_1(IntPtr mapper)
		{
			this.setMaterialMapper((mapper == IntPtr.Zero) ? null : new OdGiMapper(mapper, false));
		}

		private int SwigDirectorsetLinetypeScale__SWIG_0(double linetypeScale, bool doSubents)
		{
			return (int)this.setLinetypeScale(linetypeScale, doSubents);
		}

		private int SwigDirectorsetLinetypeScale__SWIG_1(double linetypeScale)
		{
			return (int)this.setLinetypeScale(linetypeScale);
		}

		private int SwigDirectorsetLineWeight__SWIG_0(int lineWeight, bool doSubents)
		{
			return (int)this.setLineWeight((LineWeight)lineWeight, doSubents);
		}

		private int SwigDirectorsetLineWeight__SWIG_1(int lineWeight)
		{
			return (int)this.setLineWeight((LineWeight)lineWeight);
		}

		private bool SwigDirectorcastShadows()
		{
			return this.castShadows();
		}

		private void SwigDirectorsetCastShadows(bool castShadows)
		{
			this.setCastShadows(castShadows);
		}

		private bool SwigDirectorreceiveShadows()
		{
			return this.receiveShadows();
		}

		private void SwigDirectorsetReceiveShadows(bool receiveShadows)
		{
			this.setReceiveShadows(receiveShadows);
		}

		private int SwigDirectorcollisionType()
		{
			return (int)this.collisionType();
		}

		private bool SwigDirectorisPlanar()
		{
			return this.isPlanar();
		}

		private int SwigDirectorgetPlane(IntPtr plane, Planarity planarity)
		{
			return (int)this.getPlane(new OdGePlane(plane, false), out planarity);
		}

		private int SwigDirectorexplodeToBlock__SWIG_0(IntPtr pBlockRecord, IntPtr ids)
		{
			return (int)this.explodeToBlock((OdDbBlockTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(pBlockRecord, false), new OdDbObjectIdArray(ids, false));
		}

		private int SwigDirectorexplodeToBlock__SWIG_1(IntPtr pBlockRecord)
		{
			return (int)this.explodeToBlock((OdDbBlockTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(pBlockRecord, false));
		}

		private int SwigDirectorexplodeGeometry(IntPtr entitySet)
		{
			return (int)this.explodeGeometry(new OdRxObjectPtrArray(entitySet, false));
		}

		private int SwigDirectorexplodeGeometryToBlock__SWIG_0(IntPtr pBlockRecord, IntPtr ids)
		{
			return (int)this.explodeGeometryToBlock((OdDbBlockTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(pBlockRecord, false), new OdDbObjectIdArray(ids, false));
		}

		private int SwigDirectorexplodeGeometryToBlock__SWIG_1(IntPtr pBlockRecord)
		{
			return (int)this.explodeGeometryToBlock((OdDbBlockTableRecord)Teigha.Core.Helpers.odrxCreateObjectInternal(pBlockRecord, false));
		}

		private void SwigDirectorsubSetDatabaseDefaults(IntPtr pDb, bool doSubents)
		{
			this.subSetDatabaseDefaults((OdDbDatabase)Teigha.Core.Helpers.odrxCreateObjectInternal(pDb, false), doSubents);
		}

		private void SwigDirectorsubList()
		{
			this.subList();
		}

		private void SwigDirectordragStatus(int status)
		{
			this.dragStatus((DragStat)status);
		}

		private void SwigDirectorsaveAs(IntPtr pWd, int ver)
		{
			this.saveAs(new OdGiWorldDraw_Internal(pWd, false), (DwgVersion)ver);
		}

		private IntPtr SwigDirectorgetEcs()
		{
			return OdGeMatrix3d.getCPtr(this.getEcs()).Handle;
		}

		private int SwigDirectorsubTransformBy(IntPtr xfm)
		{
			return (int)this.subTransformBy(new OdGeMatrix3d(xfm, false));
		}

		private int SwigDirectorsubGetTransformedCopy(IntPtr xfm, out IntPtr pCopy)
		{
			OdDbEntity obj = OdDbEntity.createObject();
			int result;
			try
			{
				result = (int)this.subGetTransformedCopy(new OdGeMatrix3d(xfm, false), out obj);
			}
			finally
			{
				pCopy = OdDbEntity.getCPtr(obj).Handle;
			}
			return result;
		}

		private int SwigDirectorsubExplode(IntPtr entitySet)
		{
			return (int)this.subExplode(new OdRxObjectPtrArray(entitySet, false));
		}

		private int SwigDirectorsubGetCompoundObjectTransform(IntPtr xM)
		{
			return (int)this.subGetCompoundObjectTransform(new OdGeMatrix3d(xM, false));
		}

		private bool SwigDirectorsubCloneMeForDragging()
		{
			return this.subCloneMeForDragging();
		}

		private bool SwigDirectorsubHideMeForDragging()
		{
			return this.subHideMeForDragging();
		}

		private void SwigDirectorsubGripStatus(int status)
		{
			this.subGripStatus((GripStat)status);
		}

		private int SwigDirectorsubGetOsnapPoints__SWIG_0(int osnapMode, IntPtr gsSelectionMark, IntPtr pickPoint, IntPtr lastPoint, IntPtr xWorldToEye, IntPtr snapPoints)
		{
			return (int)this.subGetOsnapPoints((OsnapMode)osnapMode, gsSelectionMark, new OdGePoint3d(pickPoint, false), new OdGePoint3d(lastPoint, false), new OdGeMatrix3d(xWorldToEye, false), new OdGePoint3dArray(snapPoints, false));
		}

		private int SwigDirectorsubGetOsnapPoints__SWIG_1(int osnapMode, IntPtr gsSelectionMark, IntPtr pickPoint, IntPtr lastPoint, IntPtr xWorldToEye, IntPtr snapPoints, IntPtr insertionMat)
		{
			return (int)this.subGetOsnapPoints((OsnapMode)osnapMode, gsSelectionMark, new OdGePoint3d(pickPoint, false), new OdGePoint3d(lastPoint, false), new OdGeMatrix3d(xWorldToEye, false), new OdGePoint3dArray(snapPoints, false), new OdGeMatrix3d(insertionMat, false));
		}

		private bool SwigDirectorsubIsContentSnappable()
		{
			return this.subIsContentSnappable();
		}

		private int SwigDirectorsubGetGripPoints__SWIG_0(IntPtr gripPoints)
		{
			return (int)this.subGetGripPoints(new OdGePoint3dArray(gripPoints, false));
		}

		private int SwigDirectorsubMoveGripPointsAt__SWIG_0(IntPtr indices, IntPtr offset)
		{
			return (int)this.subMoveGripPointsAt(new OdIntArray(indices, true), new OdGeVector3d(offset, false));
		}

		private int SwigDirectorsubGetGripPoints__SWIG_1(IntPtr grips, double curViewUnitSize, int gripSize, IntPtr curViewDir, int bitFlags)
		{
			return (int)this.subGetGripPoints(new OdDbGripDataPtrArray(grips, false), curViewUnitSize, gripSize, new OdGeVector3d(curViewDir, false), bitFlags);
		}

		private int SwigDirectorsubMoveGripPointsAt__SWIG_1(IntPtr grips, IntPtr offset, int bitFlags)
		{
			return (int)this.subMoveGripPointsAt(new OdDbVoidPtrArray(grips, false), new OdGeVector3d(offset, false), bitFlags);
		}

		private int SwigDirectorsubGetStretchPoints(IntPtr stretchPoints)
		{
			return (int)this.subGetStretchPoints(new OdGePoint3dArray(stretchPoints, false));
		}

		private int SwigDirectorsubMoveStretchPointsAt(IntPtr indices, IntPtr offset)
		{
			return (int)this.subMoveStretchPointsAt(new OdIntArray(indices, true), new OdGeVector3d(offset, false));
		}

		private int SwigDirectorsubIntersectWith__SWIG_0(IntPtr pEnt, int intType, IntPtr points, IntPtr thisGsMarker, IntPtr otherGsMarker)
		{
			return (int)this.subIntersectWith((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(pEnt, false), (Intersect)intType, new OdGePoint3dArray(points, false), thisGsMarker, otherGsMarker);
		}

		private int SwigDirectorsubIntersectWith__SWIG_1(IntPtr pEnt, int intType, IntPtr points, IntPtr thisGsMarker)
		{
			return (int)this.subIntersectWith((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(pEnt, false), (Intersect)intType, new OdGePoint3dArray(points, false), thisGsMarker);
		}

		private int SwigDirectorsubIntersectWith__SWIG_2(IntPtr pEnt, int intType, IntPtr points)
		{
			return (int)this.subIntersectWith((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(pEnt, false), (Intersect)intType, new OdGePoint3dArray(points, false));
		}

		private int SwigDirectorsubIntersectWith__SWIG_3(IntPtr pEnt, int intType, IntPtr projPlane, IntPtr points, IntPtr thisGsMarker, IntPtr otherGsMarker)
		{
			return (int)this.subIntersectWith((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(pEnt, false), (Intersect)intType, new OdGePlane(projPlane, false), new OdGePoint3dArray(points, false), thisGsMarker, otherGsMarker);
		}

		private int SwigDirectorsubIntersectWith__SWIG_4(IntPtr pEnt, int intType, IntPtr projPlane, IntPtr points, IntPtr thisGsMarker)
		{
			return (int)this.subIntersectWith((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(pEnt, false), (Intersect)intType, new OdGePlane(projPlane, false), new OdGePoint3dArray(points, false), thisGsMarker);
		}

		private int SwigDirectorsubIntersectWith__SWIG_5(IntPtr pEnt, int intType, IntPtr projPlane, IntPtr points)
		{
			return (int)this.subIntersectWith((OdDbEntity)Teigha.Core.Helpers.odrxCreateObjectInternal(pEnt, false), (Intersect)intType, new OdGePlane(projPlane, false), new OdGePoint3dArray(points, false));
		}

		private void SwigDirectorsubHighlight__SWIG_0(bool bDoIt, IntPtr pSubId, bool highlightAll)
		{
			this.subHighlight(bDoIt, (pSubId == IntPtr.Zero) ? null : new OdDbFullSubentPath(pSubId, false), highlightAll);
		}

		private void SwigDirectorsubHighlight__SWIG_1(bool bDoIt, IntPtr pSubId)
		{
			this.subHighlight(bDoIt, (pSubId == IntPtr.Zero) ? null : new OdDbFullSubentPath(pSubId, false));
		}

		private void SwigDirectorsubHighlight__SWIG_2(bool bDoIt)
		{
			this.subHighlight(bDoIt);
		}

		private void SwigDirectorsubHighlight__SWIG_3()
		{
			this.subHighlight();
		}

		private int SwigDirectorsubVisibility()
		{
			return (int)this.subVisibility();
		}

		private int SwigDirectorsubSetVisibility__SWIG_0(int visibility, bool doSubents)
		{
			return (int)this.subSetVisibility((Visibility)visibility, doSubents);
		}

		private int SwigDirectorsubSetVisibility__SWIG_1(int visibility)
		{
			return (int)this.subSetVisibility((Visibility)visibility);
		}

		private int SwigDirectorsubGetGeomExtents(IntPtr extents)
		{
			return (int)this.subGetGeomExtents(new OdGeExtents3d(extents, false));
		}

		private int SwigDirectorsubDeleteSubentPaths(IntPtr paths)
		{
			return (int)this.subDeleteSubentPaths(new OdDbFullSubentPathArray(paths, false));
		}

		private int SwigDirectorsubAddSubentPaths(IntPtr paths)
		{
			return (int)this.subAddSubentPaths(new OdDbFullSubentPathArray(paths, false));
		}

		private int SwigDirectorsubMoveGripPointsAtSubentPaths(IntPtr paths, IntPtr gripAppData, IntPtr offset, uint bitflags)
		{
			return (int)this.subMoveGripPointsAtSubentPaths(new OdDbFullSubentPathArray(paths, false), new OdDbVoidPtrArray(gripAppData, false), new OdGeVector3d(offset, false), bitflags);
		}

		private int SwigDirectorsubGetGripPointsAtSubentPath(IntPtr path, IntPtr grips, double curViewUnitSize, int gripSize, IntPtr curViewDir, uint bitflags)
		{
			return (int)this.subGetGripPointsAtSubentPath(new OdDbFullSubentPath(path, false), new OdDbGripDataPtrArray(grips, false), curViewUnitSize, gripSize, new OdGeVector3d(curViewDir, false), bitflags);
		}

		private int SwigDirectorsubGetSubentPathsAtGsMarker__SWIG_0(int type, IntPtr gsMark, IntPtr pickPoint, IntPtr xfm, IntPtr subentPaths, IntPtr pEntAndInsertStack)
		{
			return (int)this.subGetSubentPathsAtGsMarker((SubentType)type, gsMark, new OdGePoint3d(pickPoint, false), new OdGeMatrix3d(xfm, false), new OdDbFullSubentPathArray(subentPaths, false), new OdDbObjectIdArray(pEntAndInsertStack, false));
		}

		private int SwigDirectorsubGetSubentPathsAtGsMarker__SWIG_1(int type, IntPtr gsMark, IntPtr pickPoint, IntPtr xfm, IntPtr subentPaths)
		{
			return (int)this.subGetSubentPathsAtGsMarker((SubentType)type, gsMark, new OdGePoint3d(pickPoint, false), new OdGeMatrix3d(xfm, false), new OdDbFullSubentPathArray(subentPaths, false));
		}

		private int SwigDirectorsubGetGsMarkersAtSubentPath(IntPtr subPath, IntPtr gsMarkers)
		{
			return (int)this.subGetGsMarkersAtSubentPath(new OdDbFullSubentPath(subPath, false), new SWIGTYPE_p_OdGsMarkerArray(gsMarkers, false));
		}

		private IntPtr SwigDirectorsubSubentPtr(IntPtr path)
		{
			return OdDbEntity.getCPtr(this.subSubentPtr(new OdDbFullSubentPath(path, false))).Handle;
		}

		private int SwigDirectorsubTransformSubentPathsBy(IntPtr paths, IntPtr xform)
		{
			return (int)this.subTransformSubentPathsBy(new OdDbFullSubentPathArray(paths, false), new OdGeMatrix3d(xform, false));
		}

		private int SwigDirectorsubGetSubentClassId(IntPtr path, IntPtr clsId)
		{
			return (int)this.subGetSubentClassId(new OdDbFullSubentPath(path, false), clsId);
		}

		private int SwigDirectorsubGetSubentPathGeomExtents(IntPtr path, IntPtr extents)
		{
			return (int)this.subGetSubentPathGeomExtents(new OdDbFullSubentPath(path, false), new OdGeExtents3d(extents, false));
		}

		private void SwigDirectorsubSubentGripStatus(int status, IntPtr subentity)
		{
			this.subSubentGripStatus((GripStat)status, new OdDbFullSubentPath(subentity, false));
		}

		private object locker = new object();

		private HandleRef swigCPtr;

		private OdDbEntity.SwigDelegateOdDbEntity_0 swigDelegate0;

		private OdDbEntity.SwigDelegateOdDbEntity_1 swigDelegate1;

		private OdDbEntity.SwigDelegateOdDbEntity_2 swigDelegate2;

		private OdDbEntity.SwigDelegateOdDbEntity_3 swigDelegate3;

		private OdDbEntity.SwigDelegateOdDbEntity_4 swigDelegate4;

		private OdDbEntity.SwigDelegateOdDbEntity_5 swigDelegate5;

		private OdDbEntity.SwigDelegateOdDbEntity_6 swigDelegate6;

		private OdDbEntity.SwigDelegateOdDbEntity_7 swigDelegate7;

		private OdDbEntity.SwigDelegateOdDbEntity_8 swigDelegate8;

		private OdDbEntity.SwigDelegateOdDbEntity_9 swigDelegate9;

		private OdDbEntity.SwigDelegateOdDbEntity_10 swigDelegate10;

		private OdDbEntity.SwigDelegateOdDbEntity_11 swigDelegate11;

		private OdDbEntity.SwigDelegateOdDbEntity_12 swigDelegate12;

		private OdDbEntity.SwigDelegateOdDbEntity_13 swigDelegate13;

		private OdDbEntity.SwigDelegateOdDbEntity_14 swigDelegate14;

		private OdDbEntity.SwigDelegateOdDbEntity_15 swigDelegate15;

		private OdDbEntity.SwigDelegateOdDbEntity_16 swigDelegate16;

		private OdDbEntity.SwigDelegateOdDbEntity_17 swigDelegate17;

		private OdDbEntity.SwigDelegateOdDbEntity_18 swigDelegate18;

		private OdDbEntity.SwigDelegateOdDbEntity_19 swigDelegate19;

		private OdDbEntity.SwigDelegateOdDbEntity_20 swigDelegate20;

		private OdDbEntity.SwigDelegateOdDbEntity_21 swigDelegate21;

		private OdDbEntity.SwigDelegateOdDbEntity_22 swigDelegate22;

		private OdDbEntity.SwigDelegateOdDbEntity_23 swigDelegate23;

		private OdDbEntity.SwigDelegateOdDbEntity_24 swigDelegate24;

		private OdDbEntity.SwigDelegateOdDbEntity_25 swigDelegate25;

		private OdDbEntity.SwigDelegateOdDbEntity_26 swigDelegate26;

		private OdDbEntity.SwigDelegateOdDbEntity_27 swigDelegate27;

		private OdDbEntity.SwigDelegateOdDbEntity_28 swigDelegate28;

		private OdDbEntity.SwigDelegateOdDbEntity_29 swigDelegate29;

		private OdDbEntity.SwigDelegateOdDbEntity_30 swigDelegate30;

		private OdDbEntity.SwigDelegateOdDbEntity_31 swigDelegate31;

		private OdDbEntity.SwigDelegateOdDbEntity_32 swigDelegate32;

		private OdDbEntity.SwigDelegateOdDbEntity_33 swigDelegate33;

		private OdDbEntity.SwigDelegateOdDbEntity_34 swigDelegate34;

		private OdDbEntity.SwigDelegateOdDbEntity_35 swigDelegate35;

		private OdDbEntity.SwigDelegateOdDbEntity_36 swigDelegate36;

		private OdDbEntity.SwigDelegateOdDbEntity_37 swigDelegate37;

		private OdDbEntity.SwigDelegateOdDbEntity_38 swigDelegate38;

		private OdDbEntity.SwigDelegateOdDbEntity_39 swigDelegate39;

		private OdDbEntity.SwigDelegateOdDbEntity_40 swigDelegate40;

		private OdDbEntity.SwigDelegateOdDbEntity_41 swigDelegate41;

		private OdDbEntity.SwigDelegateOdDbEntity_42 swigDelegate42;

		private OdDbEntity.SwigDelegateOdDbEntity_43 swigDelegate43;

		private OdDbEntity.SwigDelegateOdDbEntity_44 swigDelegate44;

		private OdDbEntity.SwigDelegateOdDbEntity_45 swigDelegate45;

		private OdDbEntity.SwigDelegateOdDbEntity_46 swigDelegate46;

		private OdDbEntity.SwigDelegateOdDbEntity_47 swigDelegate47;

		private OdDbEntity.SwigDelegateOdDbEntity_48 swigDelegate48;

		private OdDbEntity.SwigDelegateOdDbEntity_49 swigDelegate49;

		private OdDbEntity.SwigDelegateOdDbEntity_50 swigDelegate50;

		private OdDbEntity.SwigDelegateOdDbEntity_51 swigDelegate51;

		private OdDbEntity.SwigDelegateOdDbEntity_52 swigDelegate52;

		private OdDbEntity.SwigDelegateOdDbEntity_53 swigDelegate53;

		private OdDbEntity.SwigDelegateOdDbEntity_54 swigDelegate54;

		private OdDbEntity.SwigDelegateOdDbEntity_55 swigDelegate55;

		private OdDbEntity.SwigDelegateOdDbEntity_56 swigDelegate56;

		private OdDbEntity.SwigDelegateOdDbEntity_57 swigDelegate57;

		private OdDbEntity.SwigDelegateOdDbEntity_58 swigDelegate58;

		private OdDbEntity.SwigDelegateOdDbEntity_59 swigDelegate59;

		private OdDbEntity.SwigDelegateOdDbEntity_60 swigDelegate60;

		private OdDbEntity.SwigDelegateOdDbEntity_61 swigDelegate61;

		private OdDbEntity.SwigDelegateOdDbEntity_62 swigDelegate62;

		private OdDbEntity.SwigDelegateOdDbEntity_63 swigDelegate63;

		private OdDbEntity.SwigDelegateOdDbEntity_64 swigDelegate64;

		private OdDbEntity.SwigDelegateOdDbEntity_65 swigDelegate65;

		private OdDbEntity.SwigDelegateOdDbEntity_66 swigDelegate66;

		private OdDbEntity.SwigDelegateOdDbEntity_67 swigDelegate67;

		private OdDbEntity.SwigDelegateOdDbEntity_68 swigDelegate68;

		private OdDbEntity.SwigDelegateOdDbEntity_69 swigDelegate69;

		private OdDbEntity.SwigDelegateOdDbEntity_70 swigDelegate70;

		private OdDbEntity.SwigDelegateOdDbEntity_71 swigDelegate71;

		private OdDbEntity.SwigDelegateOdDbEntity_72 swigDelegate72;

		private OdDbEntity.SwigDelegateOdDbEntity_73 swigDelegate73;

		private OdDbEntity.SwigDelegateOdDbEntity_74 swigDelegate74;

		private OdDbEntity.SwigDelegateOdDbEntity_75 swigDelegate75;

		private OdDbEntity.SwigDelegateOdDbEntity_76 swigDelegate76;

		private OdDbEntity.SwigDelegateOdDbEntity_77 swigDelegate77;

		private OdDbEntity.SwigDelegateOdDbEntity_78 swigDelegate78;

		private OdDbEntity.SwigDelegateOdDbEntity_79 swigDelegate79;

		private OdDbEntity.SwigDelegateOdDbEntity_80 swigDelegate80;

		private OdDbEntity.SwigDelegateOdDbEntity_81 swigDelegate81;

		private OdDbEntity.SwigDelegateOdDbEntity_82 swigDelegate82;

		private OdDbEntity.SwigDelegateOdDbEntity_83 swigDelegate83;

		private OdDbEntity.SwigDelegateOdDbEntity_84 swigDelegate84;

		private OdDbEntity.SwigDelegateOdDbEntity_85 swigDelegate85;

		private OdDbEntity.SwigDelegateOdDbEntity_86 swigDelegate86;

		private OdDbEntity.SwigDelegateOdDbEntity_87 swigDelegate87;

		private OdDbEntity.SwigDelegateOdDbEntity_88 swigDelegate88;

		private OdDbEntity.SwigDelegateOdDbEntity_89 swigDelegate89;

		private OdDbEntity.SwigDelegateOdDbEntity_90 swigDelegate90;

		private OdDbEntity.SwigDelegateOdDbEntity_91 swigDelegate91;

		private OdDbEntity.SwigDelegateOdDbEntity_92 swigDelegate92;

		private OdDbEntity.SwigDelegateOdDbEntity_93 swigDelegate93;

		private OdDbEntity.SwigDelegateOdDbEntity_94 swigDelegate94;

		private OdDbEntity.SwigDelegateOdDbEntity_95 swigDelegate95;

		private OdDbEntity.SwigDelegateOdDbEntity_96 swigDelegate96;

		private OdDbEntity.SwigDelegateOdDbEntity_97 swigDelegate97;

		private OdDbEntity.SwigDelegateOdDbEntity_98 swigDelegate98;

		private OdDbEntity.SwigDelegateOdDbEntity_99 swigDelegate99;

		private OdDbEntity.SwigDelegateOdDbEntity_100 swigDelegate100;

		private OdDbEntity.SwigDelegateOdDbEntity_101 swigDelegate101;

		private OdDbEntity.SwigDelegateOdDbEntity_102 swigDelegate102;

		private OdDbEntity.SwigDelegateOdDbEntity_103 swigDelegate103;

		private OdDbEntity.SwigDelegateOdDbEntity_104 swigDelegate104;

		private OdDbEntity.SwigDelegateOdDbEntity_105 swigDelegate105;

		private OdDbEntity.SwigDelegateOdDbEntity_106 swigDelegate106;

		private OdDbEntity.SwigDelegateOdDbEntity_107 swigDelegate107;

		private OdDbEntity.SwigDelegateOdDbEntity_108 swigDelegate108;

		private OdDbEntity.SwigDelegateOdDbEntity_109 swigDelegate109;

		private OdDbEntity.SwigDelegateOdDbEntity_110 swigDelegate110;

		private OdDbEntity.SwigDelegateOdDbEntity_111 swigDelegate111;

		private OdDbEntity.SwigDelegateOdDbEntity_112 swigDelegate112;

		private OdDbEntity.SwigDelegateOdDbEntity_113 swigDelegate113;

		private OdDbEntity.SwigDelegateOdDbEntity_114 swigDelegate114;

		private OdDbEntity.SwigDelegateOdDbEntity_115 swigDelegate115;

		private OdDbEntity.SwigDelegateOdDbEntity_116 swigDelegate116;

		private OdDbEntity.SwigDelegateOdDbEntity_117 swigDelegate117;

		private OdDbEntity.SwigDelegateOdDbEntity_118 swigDelegate118;

		private OdDbEntity.SwigDelegateOdDbEntity_119 swigDelegate119;

		private OdDbEntity.SwigDelegateOdDbEntity_120 swigDelegate120;

		private OdDbEntity.SwigDelegateOdDbEntity_121 swigDelegate121;

		private OdDbEntity.SwigDelegateOdDbEntity_122 swigDelegate122;

		private OdDbEntity.SwigDelegateOdDbEntity_123 swigDelegate123;

		private OdDbEntity.SwigDelegateOdDbEntity_124 swigDelegate124;

		private OdDbEntity.SwigDelegateOdDbEntity_125 swigDelegate125;

		private OdDbEntity.SwigDelegateOdDbEntity_126 swigDelegate126;

		private OdDbEntity.SwigDelegateOdDbEntity_127 swigDelegate127;

		private OdDbEntity.SwigDelegateOdDbEntity_128 swigDelegate128;

		private OdDbEntity.SwigDelegateOdDbEntity_129 swigDelegate129;

		private OdDbEntity.SwigDelegateOdDbEntity_130 swigDelegate130;

		private OdDbEntity.SwigDelegateOdDbEntity_131 swigDelegate131;

		private OdDbEntity.SwigDelegateOdDbEntity_132 swigDelegate132;

		private OdDbEntity.SwigDelegateOdDbEntity_133 swigDelegate133;

		private OdDbEntity.SwigDelegateOdDbEntity_134 swigDelegate134;

		private OdDbEntity.SwigDelegateOdDbEntity_135 swigDelegate135;

		private OdDbEntity.SwigDelegateOdDbEntity_136 swigDelegate136;

		private OdDbEntity.SwigDelegateOdDbEntity_137 swigDelegate137;

		private OdDbEntity.SwigDelegateOdDbEntity_138 swigDelegate138;

		private OdDbEntity.SwigDelegateOdDbEntity_139 swigDelegate139;

		private OdDbEntity.SwigDelegateOdDbEntity_140 swigDelegate140;

		private OdDbEntity.SwigDelegateOdDbEntity_141 swigDelegate141;

		private OdDbEntity.SwigDelegateOdDbEntity_142 swigDelegate142;

		private OdDbEntity.SwigDelegateOdDbEntity_143 swigDelegate143;

		private OdDbEntity.SwigDelegateOdDbEntity_144 swigDelegate144;

		private OdDbEntity.SwigDelegateOdDbEntity_145 swigDelegate145;

		private OdDbEntity.SwigDelegateOdDbEntity_146 swigDelegate146;

		private OdDbEntity.SwigDelegateOdDbEntity_147 swigDelegate147;

		private OdDbEntity.SwigDelegateOdDbEntity_148 swigDelegate148;

		private OdDbEntity.SwigDelegateOdDbEntity_149 swigDelegate149;

		private OdDbEntity.SwigDelegateOdDbEntity_150 swigDelegate150;

		private OdDbEntity.SwigDelegateOdDbEntity_151 swigDelegate151;

		private OdDbEntity.SwigDelegateOdDbEntity_152 swigDelegate152;

		private OdDbEntity.SwigDelegateOdDbEntity_153 swigDelegate153;

		private OdDbEntity.SwigDelegateOdDbEntity_154 swigDelegate154;

		private OdDbEntity.SwigDelegateOdDbEntity_155 swigDelegate155;

		private OdDbEntity.SwigDelegateOdDbEntity_156 swigDelegate156;

		private OdDbEntity.SwigDelegateOdDbEntity_157 swigDelegate157;

		private OdDbEntity.SwigDelegateOdDbEntity_158 swigDelegate158;

		private OdDbEntity.SwigDelegateOdDbEntity_159 swigDelegate159;

		private OdDbEntity.SwigDelegateOdDbEntity_160 swigDelegate160;

		private static Type[] swigMethodTypes0 = new Type[]
		{
			typeof(OdRxClass)
		};

		private static Type[] swigMethodTypes1 = new Type[0];

		private static Type[] swigMethodTypes2 = new Type[0];

		private static Type[] swigMethodTypes3 = new Type[0];

		private static Type[] swigMethodTypes4 = new Type[0];

		private static Type[] swigMethodTypes5 = new Type[]
		{
			typeof(OdGsCache)
		};

		private static Type[] swigMethodTypes6 = new Type[0];

		private static Type[] swigMethodTypes7 = new Type[]
		{
			typeof(OdGiDrawableTraits)
		};

		private static Type[] swigMethodTypes8 = new Type[]
		{
			typeof(OdGiWorldDraw)
		};

		private static Type[] swigMethodTypes9 = new Type[]
		{
			typeof(OdGiViewportDraw)
		};

		private static Type[] swigMethodTypes10 = new Type[]
		{
			typeof(OdGiViewportDraw)
		};

		private static Type[] swigMethodTypes11 = new Type[0];

		private static Type[] swigMethodTypes12 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes13 = new Type[]
		{
			typeof(OpenMode)
		};

		private static Type[] swigMethodTypes14 = new Type[0];

		private static Type[] swigMethodTypes15 = new Type[]
		{
			typeof(bool)
		};

		private static Type[] swigMethodTypes16 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes17 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(bool),
			typeof(bool)
		};

		private static Type[] swigMethodTypes18 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(bool)
		};

		private static Type[] swigMethodTypes19 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes20 = new Type[]
		{
			typeof(OdDbAuditInfo)
		};

		private static Type[] swigMethodTypes21 = new Type[]
		{
			typeof(OdDbDxfFiler)
		};

		private static Type[] swigMethodTypes22 = new Type[]
		{
			typeof(OdDbDxfFiler)
		};

		private static Type[] swigMethodTypes23 = new Type[]
		{
			typeof(OdDbDwgFiler)
		};

		private static Type[] swigMethodTypes24 = new Type[]
		{
			typeof(OdDbDwgFiler)
		};

		private static Type[] swigMethodTypes25 = new Type[]
		{
			typeof(OdDbDxfFiler)
		};

		private static Type[] swigMethodTypes26 = new Type[]
		{
			typeof(OdDbDxfFiler)
		};

		private static Type[] swigMethodTypes27 = new Type[]
		{
			typeof(OdDbDxfFiler)
		};

		private static Type[] swigMethodTypes28 = new Type[]
		{
			typeof(OdDbDxfFiler)
		};

		private static Type[] swigMethodTypes29 = new Type[0];

		private static Type[] swigMethodTypes30 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes31 = new Type[0];

		private static Type[] swigMethodTypes32 = new Type[]
		{
			typeof(OdResBuf)
		};

		private static Type[] swigMethodTypes33 = new Type[]
		{
			typeof(OdDbDwgFiler),
			typeof(OdRxClass)
		};

		private static Type[] swigMethodTypes34 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes35 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes36 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes37 = new Type[0];

		private static Type[] swigMethodTypes38 = new Type[]
		{
			typeof(OdDbIdPair),
			typeof(OdDbObject),
			typeof(OdDbIdMapping)
		};

		private static Type[] swigMethodTypes39 = new Type[]
		{
			typeof(OdDbObject),
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes40 = new Type[]
		{
			typeof(OdDbObject),
			typeof(bool)
		};

		private static Type[] swigMethodTypes41 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes42 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes43 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes44 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes45 = new Type[]
		{
			typeof(OdDbObject),
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes46 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes47 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes48 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes49 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes50 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes51 = new Type[]
		{
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes52 = new Type[]
		{
			typeof(OdDbFiler),
			typeof(MaintReleaseVer).MakeByRefType()
		};

		private static Type[] swigMethodTypes53 = new Type[]
		{
			typeof(OdDbFiler)
		};

		private static Type[] swigMethodTypes54 = new Type[]
		{
			typeof(DwgVersion),
			typeof(OdDbObjectId),
			typeof(bool).MakeByRefType()
		};

		private static Type[] swigMethodTypes55 = new Type[]
		{
			typeof(SaveType),
			typeof(DwgVersion),
			typeof(OdDbAuditInfo)
		};

		private static Type[] swigMethodTypes56 = new Type[0];

		private static Type[] swigMethodTypes57 = new Type[]
		{
			typeof(string),
			typeof(OdDbField)
		};

		private static Type[] swigMethodTypes58 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes59 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes60 = new Type[]
		{
			typeof(OdRxClass)
		};

		private static Type[] swigMethodTypes61 = new Type[]
		{
			typeof(IntPtr)
		};

		private static Type[] swigMethodTypes62 = new Type[]
		{
			typeof(OdDbIdMapping),
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes63 = new Type[]
		{
			typeof(OdDbIdMapping),
			typeof(OdDbObject)
		};

		private static Type[] swigMethodTypes64 = new Type[]
		{
			typeof(OdCmColor),
			typeof(bool)
		};

		private static Type[] swigMethodTypes65 = new Type[]
		{
			typeof(OdCmColor)
		};

		private static Type[] swigMethodTypes66 = new Type[0];

		private static Type[] swigMethodTypes67 = new Type[]
		{
			typeof(ushort),
			typeof(bool)
		};

		private static Type[] swigMethodTypes68 = new Type[]
		{
			typeof(ushort)
		};

		private static Type[] swigMethodTypes69 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(bool)
		};

		private static Type[] swigMethodTypes70 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes71 = new Type[]
		{
			typeof(OdCmTransparency),
			typeof(bool)
		};

		private static Type[] swigMethodTypes72 = new Type[]
		{
			typeof(OdCmTransparency)
		};

		private static Type[] swigMethodTypes73 = new Type[]
		{
			typeof(string),
			typeof(bool)
		};

		private static Type[] swigMethodTypes74 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes75 = new Type[]
		{
			typeof(PlotStyleNameType),
			typeof(OdDbObjectId),
			typeof(bool)
		};

		private static Type[] swigMethodTypes76 = new Type[]
		{
			typeof(PlotStyleNameType),
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes77 = new Type[]
		{
			typeof(PlotStyleNameType)
		};

		private static Type[] swigMethodTypes78 = new Type[]
		{
			typeof(string),
			typeof(bool),
			typeof(bool)
		};

		private static Type[] swigMethodTypes79 = new Type[]
		{
			typeof(string),
			typeof(bool)
		};

		private static Type[] swigMethodTypes80 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes81 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(bool),
			typeof(bool)
		};

		private static Type[] swigMethodTypes82 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(bool)
		};

		private static Type[] swigMethodTypes83 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes84 = new Type[]
		{
			typeof(string),
			typeof(bool)
		};

		private static Type[] swigMethodTypes85 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes86 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(bool)
		};

		private static Type[] swigMethodTypes87 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes88 = new Type[]
		{
			typeof(string),
			typeof(bool)
		};

		private static Type[] swigMethodTypes89 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes90 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(bool)
		};

		private static Type[] swigMethodTypes91 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes92 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(OdDbEntity.VisualStyleType),
			typeof(bool)
		};

		private static Type[] swigMethodTypes93 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(OdDbEntity.VisualStyleType)
		};

		private static Type[] swigMethodTypes94 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes95 = new Type[0];

		private static Type[] swigMethodTypes96 = new Type[]
		{
			typeof(OdGiMapper),
			typeof(bool)
		};

		private static Type[] swigMethodTypes97 = new Type[]
		{
			typeof(OdGiMapper)
		};

		private static Type[] swigMethodTypes98 = new Type[]
		{
			typeof(double),
			typeof(bool)
		};

		private static Type[] swigMethodTypes99 = new Type[]
		{
			typeof(double)
		};

		private static Type[] swigMethodTypes100 = new Type[]
		{
			typeof(LineWeight),
			typeof(bool)
		};

		private static Type[] swigMethodTypes101 = new Type[]
		{
			typeof(LineWeight)
		};

		private static Type[] swigMethodTypes102 = new Type[0];

		private static Type[] swigMethodTypes103 = new Type[]
		{
			typeof(bool)
		};

		private static Type[] swigMethodTypes104 = new Type[0];

		private static Type[] swigMethodTypes105 = new Type[]
		{
			typeof(bool)
		};

		private static Type[] swigMethodTypes106 = new Type[0];

		private static Type[] swigMethodTypes107 = new Type[0];

		private static Type[] swigMethodTypes108 = new Type[]
		{
			typeof(OdGePlane),
			typeof(Planarity).MakeByRefType()
		};

		private static Type[] swigMethodTypes109 = new Type[]
		{
			typeof(OdDbBlockTableRecord),
			typeof(OdDbObjectIdArray)
		};

		private static Type[] swigMethodTypes110 = new Type[]
		{
			typeof(OdDbBlockTableRecord)
		};

		private static Type[] swigMethodTypes111 = new Type[]
		{
			typeof(OdRxObjectPtrArray)
		};

		private static Type[] swigMethodTypes112 = new Type[]
		{
			typeof(OdDbBlockTableRecord),
			typeof(OdDbObjectIdArray)
		};

		private static Type[] swigMethodTypes113 = new Type[]
		{
			typeof(OdDbBlockTableRecord)
		};

		private static Type[] swigMethodTypes114 = new Type[]
		{
			typeof(OdDbDatabase),
			typeof(bool)
		};

		private static Type[] swigMethodTypes115 = new Type[0];

		private static Type[] swigMethodTypes116 = new Type[]
		{
			typeof(DragStat)
		};

		private static Type[] swigMethodTypes117 = new Type[]
		{
			typeof(OdGiWorldDraw),
			typeof(DwgVersion)
		};

		private static Type[] swigMethodTypes118 = new Type[0];

		private static Type[] swigMethodTypes119 = new Type[]
		{
			typeof(OdGeMatrix3d)
		};

		private static Type[] swigMethodTypes120 = new Type[]
		{
			typeof(OdGeMatrix3d),
			typeof(OdDbEntity).MakeByRefType()
		};

		private static Type[] swigMethodTypes121 = new Type[]
		{
			typeof(OdRxObjectPtrArray)
		};

		private static Type[] swigMethodTypes122 = new Type[]
		{
			typeof(OdGeMatrix3d)
		};

		private static Type[] swigMethodTypes123 = new Type[0];

		private static Type[] swigMethodTypes124 = new Type[0];

		private static Type[] swigMethodTypes125 = new Type[]
		{
			typeof(GripStat)
		};

		private static Type[] swigMethodTypes126 = new Type[]
		{
			typeof(OsnapMode),
			typeof(IntPtr),
			typeof(OdGePoint3d),
			typeof(OdGePoint3d),
			typeof(OdGeMatrix3d),
			typeof(OdGePoint3dArray)
		};

		private static Type[] swigMethodTypes127 = new Type[]
		{
			typeof(OsnapMode),
			typeof(IntPtr),
			typeof(OdGePoint3d),
			typeof(OdGePoint3d),
			typeof(OdGeMatrix3d),
			typeof(OdGePoint3dArray),
			typeof(OdGeMatrix3d)
		};

		private static Type[] swigMethodTypes128 = new Type[0];

		private static Type[] swigMethodTypes129 = new Type[]
		{
			typeof(OdGePoint3dArray)
		};

		private static Type[] swigMethodTypes130 = new Type[]
		{
			typeof(OdIntArray),
			typeof(OdGeVector3d)
		};

		private static Type[] swigMethodTypes131 = new Type[]
		{
			typeof(OdDbGripDataPtrArray),
			typeof(double),
			typeof(int),
			typeof(OdGeVector3d),
			typeof(int)
		};

		private static Type[] swigMethodTypes132 = new Type[]
		{
			typeof(OdDbVoidPtrArray),
			typeof(OdGeVector3d),
			typeof(int)
		};

		private static Type[] swigMethodTypes133 = new Type[]
		{
			typeof(OdGePoint3dArray)
		};

		private static Type[] swigMethodTypes134 = new Type[]
		{
			typeof(OdIntArray),
			typeof(OdGeVector3d)
		};

		private static Type[] swigMethodTypes135 = new Type[]
		{
			typeof(OdDbEntity),
			typeof(Intersect),
			typeof(OdGePoint3dArray),
			typeof(IntPtr),
			typeof(IntPtr)
		};

		private static Type[] swigMethodTypes136 = new Type[]
		{
			typeof(OdDbEntity),
			typeof(Intersect),
			typeof(OdGePoint3dArray),
			typeof(IntPtr)
		};

		private static Type[] swigMethodTypes137 = new Type[]
		{
			typeof(OdDbEntity),
			typeof(Intersect),
			typeof(OdGePoint3dArray)
		};

		private static Type[] swigMethodTypes138 = new Type[]
		{
			typeof(OdDbEntity),
			typeof(Intersect),
			typeof(OdGePlane),
			typeof(OdGePoint3dArray),
			typeof(IntPtr),
			typeof(IntPtr)
		};

		private static Type[] swigMethodTypes139 = new Type[]
		{
			typeof(OdDbEntity),
			typeof(Intersect),
			typeof(OdGePlane),
			typeof(OdGePoint3dArray),
			typeof(IntPtr)
		};

		private static Type[] swigMethodTypes140 = new Type[]
		{
			typeof(OdDbEntity),
			typeof(Intersect),
			typeof(OdGePlane),
			typeof(OdGePoint3dArray)
		};

		private static Type[] swigMethodTypes141 = new Type[]
		{
			typeof(bool),
			typeof(OdDbFullSubentPath),
			typeof(bool)
		};

		private static Type[] swigMethodTypes142 = new Type[]
		{
			typeof(bool),
			typeof(OdDbFullSubentPath)
		};

		private static Type[] swigMethodTypes143 = new Type[]
		{
			typeof(bool)
		};

		private static Type[] swigMethodTypes144 = new Type[0];

		private static Type[] swigMethodTypes145 = new Type[0];

		private static Type[] swigMethodTypes146 = new Type[]
		{
			typeof(Visibility),
			typeof(bool)
		};

		private static Type[] swigMethodTypes147 = new Type[]
		{
			typeof(Visibility)
		};

		private static Type[] swigMethodTypes148 = new Type[]
		{
			typeof(OdGeExtents3d)
		};

		private static Type[] swigMethodTypes149 = new Type[]
		{
			typeof(OdDbFullSubentPathArray)
		};

		private static Type[] swigMethodTypes150 = new Type[]
		{
			typeof(OdDbFullSubentPathArray)
		};

		private static Type[] swigMethodTypes151 = new Type[]
		{
			typeof(OdDbFullSubentPathArray),
			typeof(OdDbVoidPtrArray),
			typeof(OdGeVector3d),
			typeof(uint)
		};

		private static Type[] swigMethodTypes152 = new Type[]
		{
			typeof(OdDbFullSubentPath),
			typeof(OdDbGripDataPtrArray),
			typeof(double),
			typeof(int),
			typeof(OdGeVector3d),
			typeof(uint)
		};

		private static Type[] swigMethodTypes153 = new Type[]
		{
			typeof(SubentType),
			typeof(IntPtr),
			typeof(OdGePoint3d),
			typeof(OdGeMatrix3d),
			typeof(OdDbFullSubentPathArray),
			typeof(OdDbObjectIdArray)
		};

		private static Type[] swigMethodTypes154 = new Type[]
		{
			typeof(SubentType),
			typeof(IntPtr),
			typeof(OdGePoint3d),
			typeof(OdGeMatrix3d),
			typeof(OdDbFullSubentPathArray)
		};

		private static Type[] swigMethodTypes155 = new Type[]
		{
			typeof(OdDbFullSubentPath),
			typeof(SWIGTYPE_p_OdGsMarkerArray)
		};

		private static Type[] swigMethodTypes156 = new Type[]
		{
			typeof(OdDbFullSubentPath)
		};

		private static Type[] swigMethodTypes157 = new Type[]
		{
			typeof(OdDbFullSubentPathArray),
			typeof(OdGeMatrix3d)
		};

		private static Type[] swigMethodTypes158 = new Type[]
		{
			typeof(OdDbFullSubentPath),
			typeof(IntPtr)
		};

		private static Type[] swigMethodTypes159 = new Type[]
		{
			typeof(OdDbFullSubentPath),
			typeof(OdGeExtents3d)
		};

		private static Type[] swigMethodTypes160 = new Type[]
		{
			typeof(GripStat),
			typeof(OdDbFullSubentPath)
		};

		public delegate IntPtr SwigDelegateOdDbEntity_0(IntPtr protocolClass);

		public delegate IntPtr SwigDelegateOdDbEntity_1();

		public delegate int SwigDelegateOdDbEntity_2();

		public delegate bool SwigDelegateOdDbEntity_3();

		public delegate IntPtr SwigDelegateOdDbEntity_4();

		public delegate void SwigDelegateOdDbEntity_5(IntPtr pNode);

		public delegate IntPtr SwigDelegateOdDbEntity_6();

		public delegate uint SwigDelegateOdDbEntity_7(IntPtr pTraits);

		public delegate bool SwigDelegateOdDbEntity_8(IntPtr pWd);

		public delegate void SwigDelegateOdDbEntity_9(IntPtr pVd);

		public delegate uint SwigDelegateOdDbEntity_10(IntPtr vd);

		public delegate uint SwigDelegateOdDbEntity_11();

		public delegate void SwigDelegateOdDbEntity_12(IntPtr ownerId);

		public delegate int SwigDelegateOdDbEntity_13(int mode);

		public delegate void SwigDelegateOdDbEntity_14();

		public delegate int SwigDelegateOdDbEntity_15(bool erasing);

		public delegate void SwigDelegateOdDbEntity_16(IntPtr pNewObject);

		public delegate void SwigDelegateOdDbEntity_17(IntPtr otherId, bool swapXdata, bool swapExtDict);

		public delegate void SwigDelegateOdDbEntity_18(IntPtr otherId, bool swapXdata);

		public delegate void SwigDelegateOdDbEntity_19(IntPtr otherId);

		public delegate void SwigDelegateOdDbEntity_20(IntPtr pAuditInfo);

		public delegate int SwigDelegateOdDbEntity_21(IntPtr pFiler);

		public delegate void SwigDelegateOdDbEntity_22(IntPtr pFiler);

		public delegate int SwigDelegateOdDbEntity_23(IntPtr pFiler);

		public delegate void SwigDelegateOdDbEntity_24(IntPtr pFiler);

		public delegate int SwigDelegateOdDbEntity_25(IntPtr pFiler);

		public delegate void SwigDelegateOdDbEntity_26(IntPtr pFiler);

		public delegate int SwigDelegateOdDbEntity_27(IntPtr pFiler);

		public delegate void SwigDelegateOdDbEntity_28(IntPtr pFiler);

		public delegate int SwigDelegateOdDbEntity_29();

		public delegate IntPtr SwigDelegateOdDbEntity_30([MarshalAs(UnmanagedType.LPWStr)] string regappName);

		public delegate IntPtr SwigDelegateOdDbEntity_31();

		public delegate void SwigDelegateOdDbEntity_32(IntPtr pRb);

		public delegate void SwigDelegateOdDbEntity_33(IntPtr pUndoFiler, IntPtr pClassObj);

		public delegate void SwigDelegateOdDbEntity_34(IntPtr objId);

		public delegate void SwigDelegateOdDbEntity_35(IntPtr objId);

		public delegate void SwigDelegateOdDbEntity_36(IntPtr pSubObj);

		public delegate void SwigDelegateOdDbEntity_37();

		public delegate void SwigDelegateOdDbEntity_38(IntPtr idPair, IntPtr pOwnerObject, IntPtr ownerIdMap);

		public delegate void SwigDelegateOdDbEntity_39(IntPtr pObject, IntPtr pNewObject);

		public delegate void SwigDelegateOdDbEntity_40(IntPtr pObject, bool erasing);

		public delegate void SwigDelegateOdDbEntity_41(IntPtr pObject);

		public delegate void SwigDelegateOdDbEntity_42(IntPtr pObject);

		public delegate void SwigDelegateOdDbEntity_43(IntPtr pObject);

		public delegate void SwigDelegateOdDbEntity_44(IntPtr pObject);

		public delegate void SwigDelegateOdDbEntity_45(IntPtr pObject, IntPtr pSubObj);

		public delegate void SwigDelegateOdDbEntity_46(IntPtr pObject);

		public delegate void SwigDelegateOdDbEntity_47(IntPtr pObject);

		public delegate void SwigDelegateOdDbEntity_48(IntPtr pObject);

		public delegate void SwigDelegateOdDbEntity_49(IntPtr pObject);

		public delegate void SwigDelegateOdDbEntity_50(IntPtr objectId);

		public delegate void SwigDelegateOdDbEntity_51(IntPtr pObject);

		public delegate int SwigDelegateOdDbEntity_52(IntPtr pFiler, MaintReleaseVer pMaintVer);

		public delegate int SwigDelegateOdDbEntity_53(IntPtr pFiler);

		public delegate IntPtr SwigDelegateOdDbEntity_54(int ver, IntPtr replaceId, bool exchangeXData);

		public delegate void SwigDelegateOdDbEntity_55(int format, int version, IntPtr pAuditInfo);

		public delegate IntPtr SwigDelegateOdDbEntity_56();

		public delegate IntPtr SwigDelegateOdDbEntity_57([MarshalAs(UnmanagedType.LPWStr)] string fieldName, IntPtr pField);

		public delegate int SwigDelegateOdDbEntity_58(IntPtr fieldId);

		public delegate IntPtr SwigDelegateOdDbEntity_59([MarshalAs(UnmanagedType.LPWStr)] string fieldName);

		public delegate IntPtr SwigDelegateOdDbEntity_60(IntPtr pClass);

		public delegate int SwigDelegateOdDbEntity_61(IntPtr pClsid);

		public delegate IntPtr SwigDelegateOdDbEntity_62(IntPtr ownerIdMap, IntPtr arg1);

		public delegate IntPtr SwigDelegateOdDbEntity_63(IntPtr ownerIdMap, IntPtr arg1);

		public delegate int SwigDelegateOdDbEntity_64(IntPtr color, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_65(IntPtr color);

		public delegate IntPtr SwigDelegateOdDbEntity_66();

		public delegate int SwigDelegateOdDbEntity_67(ushort colorIndex, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_68(ushort colorIndex);

		public delegate int SwigDelegateOdDbEntity_69(IntPtr colorId, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_70(IntPtr colorId);

		public delegate int SwigDelegateOdDbEntity_71(IntPtr transparency, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_72(IntPtr transparency);

		public delegate int SwigDelegateOdDbEntity_73([MarshalAs(UnmanagedType.LPWStr)] string plotStyleName, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_74([MarshalAs(UnmanagedType.LPWStr)] string plotStyleName);

		public delegate int SwigDelegateOdDbEntity_75(int plotStyleNameType, IntPtr plotStyleNameId, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_76(int plotStyleNameType, IntPtr plotStyleNameId);

		public delegate int SwigDelegateOdDbEntity_77(int plotStyleNameType);

		public delegate int SwigDelegateOdDbEntity_78([MarshalAs(UnmanagedType.LPWStr)] string layerName, bool doSubents, bool allowHiddenLayer);

		public delegate int SwigDelegateOdDbEntity_79([MarshalAs(UnmanagedType.LPWStr)] string layerName, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_80([MarshalAs(UnmanagedType.LPWStr)] string layerName);

		public delegate int SwigDelegateOdDbEntity_81(IntPtr layerId, bool doSubents, bool allowHiddenLayer);

		public delegate int SwigDelegateOdDbEntity_82(IntPtr layerId, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_83(IntPtr layerId);

		public delegate int SwigDelegateOdDbEntity_84([MarshalAs(UnmanagedType.LPWStr)] string linetypeName, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_85([MarshalAs(UnmanagedType.LPWStr)] string linetypeName);

		public delegate int SwigDelegateOdDbEntity_86(IntPtr linetypeID, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_87(IntPtr linetypeID);

		public delegate int SwigDelegateOdDbEntity_88([MarshalAs(UnmanagedType.LPWStr)] string materialName, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_89([MarshalAs(UnmanagedType.LPWStr)] string materialName);

		public delegate int SwigDelegateOdDbEntity_90(IntPtr materialID, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_91(IntPtr materialID);

		public delegate int SwigDelegateOdDbEntity_92(IntPtr visualStyleId, int vstype, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_93(IntPtr visualStyleId, int vstype);

		public delegate int SwigDelegateOdDbEntity_94(IntPtr visualStyleId);

		public delegate IntPtr SwigDelegateOdDbEntity_95();

		public delegate void SwigDelegateOdDbEntity_96(IntPtr mapper, bool doSubents);

		public delegate void SwigDelegateOdDbEntity_97(IntPtr mapper);

		public delegate int SwigDelegateOdDbEntity_98(double linetypeScale, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_99(double linetypeScale);

		public delegate int SwigDelegateOdDbEntity_100(int lineWeight, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_101(int lineWeight);

		public delegate bool SwigDelegateOdDbEntity_102();

		public delegate void SwigDelegateOdDbEntity_103(bool castShadows);

		public delegate bool SwigDelegateOdDbEntity_104();

		public delegate void SwigDelegateOdDbEntity_105(bool receiveShadows);

		public delegate int SwigDelegateOdDbEntity_106();

		public delegate bool SwigDelegateOdDbEntity_107();

		public delegate int SwigDelegateOdDbEntity_108(IntPtr plane, Planarity planarity);

		public delegate int SwigDelegateOdDbEntity_109(IntPtr pBlockRecord, IntPtr ids);

		public delegate int SwigDelegateOdDbEntity_110(IntPtr pBlockRecord);

		public delegate int SwigDelegateOdDbEntity_111(IntPtr entitySet);

		public delegate int SwigDelegateOdDbEntity_112(IntPtr pBlockRecord, IntPtr ids);

		public delegate int SwigDelegateOdDbEntity_113(IntPtr pBlockRecord);

		public delegate void SwigDelegateOdDbEntity_114(IntPtr pDb, bool doSubents);

		public delegate void SwigDelegateOdDbEntity_115();

		public delegate void SwigDelegateOdDbEntity_116(int status);

		public delegate void SwigDelegateOdDbEntity_117(IntPtr pWd, int ver);

		public delegate IntPtr SwigDelegateOdDbEntity_118();

		public delegate int SwigDelegateOdDbEntity_119(IntPtr xfm);

		public delegate int SwigDelegateOdDbEntity_120(IntPtr xfm, out IntPtr pCopy);

		public delegate int SwigDelegateOdDbEntity_121(IntPtr entitySet);

		public delegate int SwigDelegateOdDbEntity_122(IntPtr xM);

		public delegate bool SwigDelegateOdDbEntity_123();

		public delegate bool SwigDelegateOdDbEntity_124();

		public delegate void SwigDelegateOdDbEntity_125(int status);

		public delegate int SwigDelegateOdDbEntity_126(int osnapMode, IntPtr gsSelectionMark, IntPtr pickPoint, IntPtr lastPoint, IntPtr xWorldToEye, IntPtr snapPoints);

		public delegate int SwigDelegateOdDbEntity_127(int osnapMode, IntPtr gsSelectionMark, IntPtr pickPoint, IntPtr lastPoint, IntPtr xWorldToEye, IntPtr snapPoints, IntPtr insertionMat);

		public delegate bool SwigDelegateOdDbEntity_128();

		public delegate int SwigDelegateOdDbEntity_129(IntPtr gripPoints);

		public delegate int SwigDelegateOdDbEntity_130(IntPtr indices, IntPtr offset);

		public delegate int SwigDelegateOdDbEntity_131(IntPtr grips, double curViewUnitSize, int gripSize, IntPtr curViewDir, int bitFlags);

		public delegate int SwigDelegateOdDbEntity_132(IntPtr grips, IntPtr offset, int bitFlags);

		public delegate int SwigDelegateOdDbEntity_133(IntPtr stretchPoints);

		public delegate int SwigDelegateOdDbEntity_134(IntPtr indices, IntPtr offset);

		public delegate int SwigDelegateOdDbEntity_135(IntPtr pEnt, int intType, IntPtr points, IntPtr thisGsMarker, IntPtr otherGsMarker);

		public delegate int SwigDelegateOdDbEntity_136(IntPtr pEnt, int intType, IntPtr points, IntPtr thisGsMarker);

		public delegate int SwigDelegateOdDbEntity_137(IntPtr pEnt, int intType, IntPtr points);

		public delegate int SwigDelegateOdDbEntity_138(IntPtr pEnt, int intType, IntPtr projPlane, IntPtr points, IntPtr thisGsMarker, IntPtr otherGsMarker);

		public delegate int SwigDelegateOdDbEntity_139(IntPtr pEnt, int intType, IntPtr projPlane, IntPtr points, IntPtr thisGsMarker);

		public delegate int SwigDelegateOdDbEntity_140(IntPtr pEnt, int intType, IntPtr projPlane, IntPtr points);

		public delegate void SwigDelegateOdDbEntity_141(bool bDoIt, IntPtr pSubId, bool highlightAll);

		public delegate void SwigDelegateOdDbEntity_142(bool bDoIt, IntPtr pSubId);

		public delegate void SwigDelegateOdDbEntity_143(bool bDoIt);

		public delegate void SwigDelegateOdDbEntity_144();

		public delegate int SwigDelegateOdDbEntity_145();

		public delegate int SwigDelegateOdDbEntity_146(int visibility, bool doSubents);

		public delegate int SwigDelegateOdDbEntity_147(int visibility);

		public delegate int SwigDelegateOdDbEntity_148(IntPtr extents);

		public delegate int SwigDelegateOdDbEntity_149(IntPtr paths);

		public delegate int SwigDelegateOdDbEntity_150(IntPtr paths);

		public delegate int SwigDelegateOdDbEntity_151(IntPtr paths, IntPtr gripAppData, IntPtr offset, uint bitflags);

		public delegate int SwigDelegateOdDbEntity_152(IntPtr path, IntPtr grips, double curViewUnitSize, int gripSize, IntPtr curViewDir, uint bitflags);

		public delegate int SwigDelegateOdDbEntity_153(int type, IntPtr gsMark, IntPtr pickPoint, IntPtr xfm, IntPtr subentPaths, IntPtr pEntAndInsertStack);

		public delegate int SwigDelegateOdDbEntity_154(int type, IntPtr gsMark, IntPtr pickPoint, IntPtr xfm, IntPtr subentPaths);

		public delegate int SwigDelegateOdDbEntity_155(IntPtr subPath, IntPtr gsMarkers);

		public delegate IntPtr SwigDelegateOdDbEntity_156(IntPtr path);

		public delegate int SwigDelegateOdDbEntity_157(IntPtr paths, IntPtr xform);

		public delegate int SwigDelegateOdDbEntity_158(IntPtr path, IntPtr clsId);

		public delegate int SwigDelegateOdDbEntity_159(IntPtr path, IntPtr extents);

		public delegate void SwigDelegateOdDbEntity_160(int status, IntPtr subentity);

		public enum VisualStyleType
		{
			kFullVisualStyle,
			kFaceVisualStyle,
			kEdgeVisualStyle
		}
	}
}
